林克';第一';问题
本文关键字:问题 第一 林克 | 更新日期: 2023-09-27 18:20:00
我有以下内容,在添加最后一部分之前一直运行良好:
var FbtTotals = from ff in ExpenseItemFbtItems
group ff by ff.ERLineID into g
select new {
lineId = g.Key, totalAttendees = g.Sum(
m => m.Num_Attendees_In_Group),
attendeeTypes = g.Count(),
purposeDesc = g.FirstOrDefault(n => n.User_Purpose_Description)
};
目的Desc失败了,说这是一个未知的错误。从功能上讲,我只想对totalAttendees的"sum"做同样的事情,但我只想要第一个元素,而不是聚合。
我忽略了什么?
我假设您将ORM与LINQ(EF、NHibernate、LINQ to SQL等)结合使用。ORM不支持集合上的窗口函数(这是翻译查询所必需的);它们只支持聚合。
为了执行您想要的操作,您必须检索查询中的所有记录,然后在客户端代码中构造最终对象(获取第一个项)。假设你似乎没有过滤任何东西,你可以试试这个:
var FbtTotals = from ff in ExpenseItemFbtItems.AsEnumerable()
group ff by ff.ERLineID into g
select new { lineId = g.Key, totalAttendees = g.Sum(m => m.Num_Attendees_In_Group), attendeeTypes = g.Count(), purposeDesc = g.FirstOrDefault(n => n.User_Purpose_Description) };