我如何通过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%的工作,但我只是不知道如何通过修改的细节传递到结果
g
是一组对象。
集合本身显然没有任何属性,除了公共键。
您需要从每个组中的特定对象获取属性,例如g.Last()
。