c# - 如何在 LINQ 中使用组
问题描述
我从 LinQ Query 得到一个列表,我想检查SuiteId
每个 Count = 3 的计数,然后返回我该suiteId
如何解决?
var a = _context.SuiteReserveAvailables.Where(c =>
c.AvailableDate <= DtpEnd.SelectedDateTime &&
c.AvailableDate >= DtpStart.SelectedDateTime &&
c.ReserveStatus == false && c.IsDeleted == false && c.IsActive)
.Select(c => c.SuiteId).ToList();
例如:结果是 {1,1,1,3,3,2,5,5,5,5} 所以我只需要1
数字,因为在我的列表中重复了 3 次
解决方案
var a = _context.SuiteReserveAvailables.Where(c =>
c.AvailableDate <= DtpEnd.SelectedDateTime &&
c.AvailableDate >= DtpStart.SelectedDateTime &&
c.ReserveStatus == false && c.IsDeleted == false && c.IsActive)
.GroupBy(c => c.SuiteId)
.Where(gr => gr.Count() == 3)
.Select(gr => gr.Key)
.ToList();
那应该这样做。
推荐阅读
- angular - Angular Reactive Forms - 添加动态组元素 - 单选按钮问题
- php - 如何获取 Twig 数组中的关键位置?
- git - 如何撤消 git checkout -B 分支?
- javascript - 之前配置的 ChromeDriver 服务仍在运行
- android - Searchview 在单击文本后显示矩形
- vertica - 如何将 Avro 记录数组加载到 Vertica ARRAY
- android - 如何将音频数据从 Android 流式传输到 WebSocket 服务器?
- java - 在 Java 中处理对象数组
- unity3d - GetComponent 重置布尔值
- php - 未设置可下载的 Woocommerce 产品内容