LINQ - 如何在 GroupBy 之后获取列的子集
本文关键字:获取 子集 之后 GroupBy LINQ | 更新日期: 2023-09-27 18:34:33
这个 LINQ-to-SQL 查询有效(在 LINQpad 中测试(:
var q5 = LOGs.Where(r => r.APP_NAME == "Toaster")
.GroupBy(pol => pol.CASE_NO)
.Select(grp => grp.First())
.OrderByDescending(l => l.WHEN);
q5.Dump();
但是,这将返回每行的所有列。
如何优化 Select(( 部分以指定某些列?
我可以通过添加 .ToList(( 到查询,然后查询 q5:
var q5a = q5.Select(r => new {CASE=r.CASE_NO, WHEN = r.WHEN});
q5a.Dump();
我可以在一个语句而不是两个语句中完成吗?
谢谢--
你为什么不过滤在哪里?
var q5 = LOGs.Where(r => r.APP_NAME == "Toaster")
.Select(r=> new{r.CASE_NO, r.WHEN})
.GroupBy(pol => pol.CASE_NO)
.Select(grp => grp.First())
.OrderByDescending(l => l.WHEN);
remembar new {CASE=r.CASE_NO, WHEN = r.WHEN}
由于属性名称不同而创建新的匿名类型,new {r.CASE_NO, r.WHEN}
没有!