我如何通过LINQ中的组语句传递非汇总数据

本文关键字:数据 语句 何通过 LINQ | 更新日期: 2023-09-27 18:17:03

我有很多公司。有些公司有主题,有些则没有。所有公司都有一个修改日期和一个修改日期。像这样:

CompanyID  Subjects Modified      Modified By
1          2        Jan 1, 2011   Jon
2          4        Jan 1, 2010   Dave
3          1        Jan 1, 2009   Alan
4          0        Jan 1, 2008   Tom

在很多人的帮助下,我创建了一个LINQ报告,给了我需要的信息,但它没有显示修改日期和谁修改了公司记录

 var abc = from c in companies
           join s in subjects on "0000" + c.RowKey equals s.PartitionKey into outer
           from s in outer.DefaultIfEmpty()
           select new
           {
               Title = c.Title,
               Subject = ((s == null) ? 0 : 1)
               //, Modified = c.Modified,
               // ModifiedBy = c.ModifiedBy
           } into split
           group split by split.Title into g
           select new CompanySummary
           {
               Title = g.Key,
               Subjects = g.Sum(s => s.Subject)
               // ,Modified = g.Modified,
               // ModifiedBy = g.ModifiedBy
           };

我试图添加代码(注释掉)来给出修改后的公司详细信息。然而,它给了我一个错误说:

Error   1   'System.Linq.IGrouping<string,AnonymousType#1>' does not contain a definition for 'Modified' and no extension method 'Modified' accepting a first argument of type 'System.Linq.IGrouping<string,AnonymousType#1>'

有人知道我做错了什么吗?我的代码是95%的工作,但我只是不知道如何通过修改的细节传递到结果

我如何通过LINQ中的组语句传递非汇总数据

g是一组对象。
集合本身显然没有任何属性,除了公共键。

您需要从每个组中的特定对象获取属性,例如g.Last()