gpt4 book ai didi

c# - 选择一个不在 LINQ 中的 Group By 子句中的字段

转载 作者:行者123 更新时间:2023-11-30 14:01:16 27 4
gpt4 key购买 nike

谁能帮我“如何在 LINQ 中选择不在 Group By 子句中的字段”

  var ReportData = 
from a in context.Table1
from b in context.Table2
where a.personelID == b.ID
&& a.DateField.Value.Year == 2011
group a by new { a.personelID, b.Name, b.Surname} into grouping
select new
{
// grouping.Key.DateField,
Name= grouping.Key.Name,
Surname= grouping.Key.Surname,
PagaBruto = grouping.Sum(i => i.Bruto)),
};

我无法选择Table1 中的字段"DateField",我不想让这个字段出现在Group By,因为我会得到错误的结果。谢谢!

最佳答案

我认为您需要在分组依据之前选择两个表成员,以便您可以从两者中选择数据。我做了一个连接而不是你的 where 子句。

(from a in context.Table1
join b in context.Table2 on a.PersonalID equals b.ID
select new { A=a, B=b } into joined
group joined by new { joined.A.PersonalID, joined.B.Name, joined.B.Surname } into grouped
select grouped.Select(g => new {
DateField= g.A.Datefield,
Name = g.B.Name,
Surname = g.B.Surname,
PagaBruto = g.A.Sum(i => i.Bruto)
})).SelectMany(g => g);

关于c# - 选择一个不在 LINQ 中的 Group By 子句中的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8660786/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com