.net 在多个上下文中将聚合列添加到实体框架Join()

.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,

使用两者的结果,我能够将多个上下文连接起来。问题是,我还想选择一个额外的列,它是GroupBy的计数

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字段。我不确定在一个查询中是否可以这样做。