如何在 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();
我在 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();