3 回答

TA貢獻(xiàn)1775條經(jīng)驗 獲得超11個贊
這不起作用,因為它ppCombined
是內(nèi)存中對象的集合,您無法使用內(nèi)存中的另一組數(shù)據(jù)將數(shù)據(jù)庫中的一組數(shù)據(jù)連接起來。你可以嘗試,而不是提取經(jīng)過濾項personProtocol
中的ppCombined
集合中的內(nèi)存后,您檢索從數(shù)據(jù)庫中其他屬性:
var persons = db.Favorites .Where(f => f.userId == userId) .Join(db.Person, f => f.personId, p => p.personId, (f, p) => new // anonymous object { personId = p.personId, addressId = p.addressId, favoriteId = f.favoriteId, }) .AsEnumerable() // database query ends here, the rest is a query in memory .Select(x => new PersonDTO { personId = x.personId, addressId = x.addressId, favoriteId = x.favoriteId, personProtocol = ppCombined .Where(p => p.personId == x.personId) .Select(p => new PersonProtocol { personProtocolId = p.personProtocolId, activateDt = p.activateDt, personId = p.personId }) .ToList() });

TA貢獻(xiàn)1863條經(jīng)驗 獲得超2個贊
就我而言,我能夠通過執(zhí)行以下操作來解決問題:
我改變了我的代碼:
var r2 = db.Instances.Where(x => x.Player1 == inputViewModel.InstanceList.FirstOrDefault().Player2 && x.Player2 == inputViewModel.InstanceList.FirstOrDefault().Player1).ToList();
對此:
var p1 = inputViewModel.InstanceList.FirstOrDefault().Player1;
var p2 = inputViewModel.InstanceList.FirstOrDefault().Player2;
var r1 = db.Instances.Where(x => x.Player1 == p1 && x.Player2 == p2).ToList();
- 3 回答
- 0 關(guān)注
- 1991 瀏覽
添加回答
舉報