asp.net - 如何在实体框架中选择不同的行
问题描述
我在 sql server 中使用以下命令来获取数据:
Select distinct ConstituentGroupNameId,UserId,CreatedTime from dbo.ConstituentRecords
但是我无法通过实体框架来实现它。我也想获得唯一的 ConstituentGroupNameId 和其他字段。
解决方案
您可以简单地groupby
在 Linq 查询中使用。它可以达到与 T-SQL 的distinct
操作相同的结果。
首先要区分的组字段,您可以获取您创建的组。然后选择组中的第一个项目。
最后,您将获得您过滤的不同行。
拉姆达表达式:
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();
推荐阅读
- java - Spring Boot 无法读取配置文件表达式中的属性
- git - Git Fork 如何找到谁已经分叉到我们的存储库中
- android - Firebase 查询在 StartAt kotlin 处给出 null
- python - 如何训练测试拆分和交叉验证
- sql-server - 如何按值获取 XML 中的节点路径?
- python - 绘图后修改 matplotlib y 值
- c++ - 最简单的方法来捕捉 5 个变量 x、y、z、a、b 的情况,即 a 和 b 等于 x、y 或 z
- flutter - Flutter 从父亲那里触发一个小部件内部的一个函数
- solr - 获取 Solr Admin 用户密码作为系统变量
- python - 从 Trezor 硬件钱包发送签名交易