我正在使用C#和.NET Framework 4.0开发实体框架4.4.0.0 Code First库。
我在Messages
表上有这些数据:
正如您所看到的,有重复的消息。
我有这个LinQ来检索那些消息:
var msgs = from message in context.Messages
where message.TalkId == talkId &&
(message.SentBy == userId || message.SentTo == userId)
orderby message.DateUtcSent
select message;
但我得到了大部分。
如何在不重复的情况下获取消息?
如果我是userId == 15的用户,我希望收到MessageId
的消息:32,36,39和42。
你知道我怎么能用LinQ做到这一点?
答案 0 :(得分:0)
您可以使用group by以便按用户对结果进行分组。
以下是一个可以帮助您的链接:http://code.msdn.microsoft.com/LINQ-to-DataSets-Grouping-c62703ea