Wednesday, 15 January 2014

c# - Trying to get the first record for each MemID in this LINQ Query -



c# - Trying to get the first record for each MemID in this LINQ Query -

i have linq query, working, below. problem repeating memids. how can first memid query in single database trip? using sql server 2008 r2 backend database, , c# programming language.

var query = (from m in e.memberships m.memid != null && (sqlfunctions.stringconvert((double)m.memid).contains(memidorname) || m.name.contains(memidorname)) select new { m.memid, name = m.name.trimend(), m.city, m.state, m.systemid, systemname = m.systemname.trimend() }) .distinct() .orderby(s => s.name) .thenby(s => s.companyid) .thenby(s => s.city) .thenby(s => s.memid); var = query.skip(startrowindex).take(maximumrows).tolist();

group on value , select out 1 item group. if don't care which, can grab first. if want particular one, can re-order them before taking first item.

so replace distinct with;

//everything before `distinct` .groupby(s => s.memid) .select(group => group.firstordefault())//or other query 1 item in grouping //rest of query

c# sql-server linq

No comments:

Post a Comment