.net 在多个上下文中将聚合列添加到实体框架Join()
使用两者的结果,我能够将多个上下文连接起来。问题是,我还想选择一个额外的列,它是GroupBy的计数.net 在多个上下文中将聚合列添加到实体框架Join(),.net,linq,entity-framework-5,.net,Linq,Entity Framework 5,使用两者的结果,我能够将多个上下文连接起来。问题是,我还想选择一个额外的列,它是GroupBy的计数 reports = contacts.Join(records, c => c.ContactId, r => r.RecordId, (c, r) => new ReportModel { Record = r.RecordId, Available = r.RecordAvailable,
reports =
contacts.Join(records, c => c.ContactId, r => r.RecordId,
(c, r) => new ReportModel
{
Record = r.RecordId,
Available = r.RecordAvailable,
Result = c.ContactResult,
Date = c.ContactDate,
Account = c.ContactId,
//Total = r.Count()
}).ToList();
显然,我不能简单地期望r.Count()
会像示例中那样工作。我已尝试执行以下操作,但在创建带有附加列的完整ReportModel
时遇到问题
.GroupBy(r => new {r.RecordId})
.Select(x => new ReportModel {
Record = r.RecordId,
Available = r.RecordAvailable,
Result = c.ContactResult,
Date = c.ContactDate,
Account = c.ContactId,
Total = x.Count(r => r.RecordId)
});
如何使用现有的
ReportModel
并填充Total列和其他计算或聚合列?好吧,它归结为对象的常规linq,因此不涉及任何魔术。但是你能比“a组计数B”和“我有问题”更具体一些吗?我无法创建正确的lambda表达式来引用我需要的字段。我想用“按帐户记录”和“按记录帐户”的计数填充ReportModel字段。我不确定在一个查询中是否可以这样做。