2011-04-19 77 views
1

这是我statment组通过在LINQ to 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,版本= 1.0.4125.30654文化=中性公钥=空],[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

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