сгруппировать по в linq для llblgen

#c# #.net #linq #group-by #llblgen

#c# #.net #linq #сгруппировать по #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) amp;amp;
                        (axsEntity.DateEnd == null || axsEntity.DateEnd > axsEntity.DateRenewal) amp;amp;
                        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= нейтральный, PublicKeyToken=null],[Data.Rad.EntityClasses.Учетная запись, Data.Rad, версия = 1.0.4125.30654, Культура = нейтральная, PublicKeyToken= null]], Модель.Rad, Version=1.0.0.0, Culture = нейтральный, PublicKeyToken=null]]’ никак не может быть преобразован в тип сущности. Вы использовали оператор let в предложении group by?

Есть ли способ сделать это в любом случае. Если я группирую по в памяти, это убивает мой компьютер.

Ответ №1:

Вы не можете использовать запрос groupby для извлечения объектов, поскольку groupby запрашивает групповые данные, а объекты извлекаются непосредственно из таблиц.