这是我的陈述
private IEnumerable<IGrouping<AccountEntity,AxsEntity>> GetAxsEntitiesForInvoicing(IDataAccessAdapter adapter)
{
var metaData = new LinqMetaData(adapter);
var query = from axsEntity in metaData.Axs
join accountEntity in metaData.Account on axsEntity.AccountId equals accountEntity.AccountId
where
(axsEntity.DateDeleted.HasValue? axsEntity.DateDeleted.Value<DateTime.Now:true) &&
(axsEntity.DateEnd == null || axsEntity.DateEnd > axsEntity.DateRenewal) &&
axsEntity.DateRenewal < RenewalDate // NONE INCLUSIVE DATE
group axsEntity by accountEntity into axsCol
select axsCol;
return query;
一旦我尝试将其转换为.ToList(),就会抛出错误。
类型'System.Linq.IQueryable
1[[<>f__AnonymousType0
2 [[Data.Rad.EntityClasses.AxsEntity,Data.Rad,Version = 1.0.4125.30654,Culture = neutral,PublicKeyToken = null],[Data.Rad .EntityClasses.AccountEntity,Data.Rad,Version = 1.0.4125.30654,Culture = neutral,PublicKeyToken = null]],Model.Rad,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null]]'无法转换以任何方式对实体类型。你是否在group by子句中使用了let语句?
无论如何都要这样做。如果我在内存中分组,它会杀死我的电脑。
答案 0 :(得分:2)
您不能使用groupby查询来获取实体,因为groupby查询组数据,而实体直接从表中获取。