由于我的選擇
var names = _db.Messages
.Where(p => p.UserId == parameters.UserId || p.ToUserId == parameters.UserId)
.Select(p => new {p.FirstUser, p.SecondUser})
.Distinct()
.ToList();
我得到了 List<User, User> 型別的四個元素。

如您所見,我有一個重復項
[0] 和 [2]。只有在序列 FirstUser 和 SecondUser 他們有區別
我怎樣才能在查詢中排除其中一個ToList()?如果結果我將List<User>所有這些都沒有重復,那將是完美的。
uj5u.com熱心網友回復:
看起來您并不關心誰發送了訊息以及誰收到了訊息。這是適合您的解決方案:
var names =
_db.Messages
.Where(p => p.UserId == parameters.UserId || p.ToUserId == parameters.UserId)
.Select(p => new {
user1 = p.UserId > p.ToUserId ? p.FirstUser.Id : p.SecondUser.Id,
user2 = p.UserId <= p.ToUserId ? p.FirstUser.Id : p.SecondUser.Id,
})
.Distinct()
.ToList();
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/527633.html
標籤:C#。网实体框架林克
