c# - Mapping one to many relationships in group by statement -


there query:

        const string query = @"                select *                  [users] u             left join [userroles] ur                    on [ur].[userid] = [u].[userid]             left join [roles] r                    on [r].[roleid] = [ur].[roleid]             left join [externallogins] el                    on [el].[userid] = [u].[userid];         "; 

this maps data variable, array of next type:

userroleloginrow {     role = role,     user = user,     userlogininforow = userlogin } 

which output data should grouped user , mapped user entity:

public sealed class user : iuser<string> {     public icollection<userlogininfo> userlogininfos;     public icollection<role> roles; } 

i can achieve code:

var users = data.groupby(t => t.user, (key, value) => {     key.roles = new collection<role>(value.select(v=>v.role).tolist());      return key; }); 

but looks me mess, because have create collections myself, think casting , check null references (if select userlogininfomodel database , map userlogininfo).

is there cleaner way achieve (and what's other way)?

ty.


Comments

Popular posts from this blog

Android layout hidden on keyboard show -

google app engine - 403 Forbidden POST - Flask WTForms -

c - Why would PK11_GenerateRandom() return an error -8023? -