分组来自linq to llblgen

时间:2011-04-19 07:58:39

标签: c# .net linq group-by llblgen

这是我的陈述

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语句?

无论如何都要这样做。如果我在内存中分组,它会杀死我的电脑。

1 个答案:

答案 0 :(得分:2)

您不能使用groupby查询来获取实体,因为groupby查询组数据,而实体直接从表中获取。