Linq选择with group by以避免重复

时间:2013-11-28 13:11:48

标签: c# linq entity-framework entity-framework-4 group-by

我正在使用C#和.NET Framework 4.0开发实体框架4.4.0.0 Code First库。

我在Messages表上有这些数据:

enter image description here

正如您所看到的,有重复的消息。

我有这个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做到这一点?

1 个答案:

答案 0 :(得分:0)

您可以使用group by以便按用户对结果进行分组。

以下是一个可以帮助您的链接:http://code.msdn.microsoft.com/LINQ-to-DataSets-Grouping-c62703ea