【发布时间】:2011-12-28 20:15:06
【问题描述】:
谁能帮我 “如何在 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 中拥有该字段,因为我会得到错误的结果。
谢谢!
【问题讨论】:
-
每一组有很多
DateField值,你需要哪一个? -
如果在 group by 子句中包含
DateField会给出错误的结果,那么似乎每个分组的元素都有不同的DateField值。在这种情况下,不清楚 哪些 您希望将这些值包含在结果序列的元素中。 -
当您不想在分组中使用 DateField 时,意味着可能在一个分组中存在两个或多个 DateField ,那么如何通过两个或多个 DateField 选择一个组?
标签: c# .net sql-server linq