У меня есть группа по вызову LINQ, а затем суммируются значения PossessionTime.Tick как новый временной интервал. Раньше это работало нормально, но теперь мне нужно сохранить коллекцию как IQueryable, а не как список.
PossessionTime = new TimeSpan(x.Sum(p => p.PossessionTime.Ticks))
С этим изменением я теперь получаю следующую ошибку:
В LINQ to Entities поддерживаются только конструкторы и инициализаторы без параметров.
Я изучал использование DbFunctions
, но я не думаю, что в нем есть что-то, что могло бы помочь.
Является ли мой единственный вариант переместить список в память и суммировать время там?
IQueryable выглядит следующим образом:
return stats.GroupBy(x => x.Id).OrderByDescending(x => x.Sum(a => a.Kills))
.Select(x => new WeaponItem
{
PossessionTime = new TimeSpan(x.Sum(p => p.PossessionTime.Ticks))
});
Мне нужно сохранить его как IQueryable, поскольку я использую его в разбиении на страницы.
IQueryable
. Что такоеx
? Как это определяется? - person NetMage   schedule 03.03.2018