【发布时间】:2020-09-29 05:48:57
【问题描述】:
我有一个显示消息之间关系的表格。像这样:
我想从每个用户那里得到最后一条消息。因此,例如,结果将是表中的 id 91 和 id 92
var messages = await _dbContext.Messages.Include(x =>x.User).Where(x =>x.SenderId == userId | x.ReceiveId == userId).OrderByDescending(x =>x.CreatedAt).Select(x =>new Message {
Id = x.Id,
Content = x.Content,
CreatedAt = x.CreatedAt,
User = new User {
Id = x.User.Id,
UserName = x.User.UserName,
Name = x.User.Name,
LastName = x.User.LastName,
Profil = x.User.Profil
},
}).Distinct().ToListAsync();
我该怎么做?
【问题讨论】:
-
所以您的意思是按发送者ID、接收者ID分组,按日期降序排列每个键的项目列表并选择第一个?