#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 запрашивает групповые данные, а объекты извлекаются непосредственно из таблиц.