The first step:
var userids = entitypairs.select (p = = P.item1.ownerid). ToList (); var usermapping = (context. Set<user>() = userids. Contains (u.id)) new { = u.id, = u.username, = U.nickname, = = u.id, u = u));
Step Two:
Pair. item2["Username"] = Usermapping.getordefault ((long) pair. Item1.ownerid). Nickname;
Example code one: Administrator gets
/// <summary> ///Select the fields you want/// </summary>[Tested ("Common.Test.Admin.AdminAdminsControllerTest")] Public voidSelect (entiredbcontext context, IList<tuple<admin, idictionary<string,Object>>>entitypairs) { //get the associated user and role names varAdminids = Entitypairs.select (p =p.item1.id). ToList (); varUsermapping = (context. Set<user>() . Where (U=adminids.contains (u.id)). Select (U=New{ID=u.id, username=U.username, nickname=U.nickname, Roleid=U.roleid, RoleName= U.role.name//this will be converted into joins .}). ToDictionary (U = u.id, u =u)); foreach(varPairinchentitypairs) {pair. item2["Id"] =pair. Item1.id; Pair. item2["Superadmin"] =(pair.) Item1.superadmin?BooleanValues.True:BooleanValues.Null); Pair. item2["Createtime"] =pair. Item1.CreateTime.ToClientTimeString (); Pair. item2["Username"] = Usermapping.getordefault (pair. item1.id)?. Username; Pair. item2["Nickname"] = Usermapping.getordefault (pair. item1.id)?. Nickname; Pair. item2["RoleName"] = Usermapping.getordefault (pair. item1.id)?. RoleName; Pair. item2["Roleid"] = Usermapping.getordefault (pair. item1.id)?. Roleid; } }
List page callback to get foreign key data