如何在 entity framework 中 Select 不同的行

How to Select distinct row in entity framework

我在 sql 服务器中使用以下命令获取数据:

Select distinct ConstituentGroupNameId,UserId,CreatedTime  from dbo.ConstituentRecords

但我无法通过实体实现它 framework.I 我正在尝试获得唯一的 ConstituentGroupNameId 和其他字段。

您可以在 Linq 查询中简单地使用 groupby。它可以达到与T-SQL的distinct操作相同的结果。


首先要区分的组字段,您可以得到您创建的组。然后你 select 组中的第一个项目。

最后,您将获得过滤的不同行。

Lambda 表达式:

var boo = ConstituentRecords
.GroupBy(o => new { o.ConstituentGroupNameId, o.UserId, o.CreatedTime } )
.Select(g=>g.First())
.ToList();

查询表达式:

var boo = (from v in ConstituentRecords
           group v by new { v.ConstituentGroupNameId, v.UserId, v.CreatedTime } into g
           select g.First()).ToList();