У меня есть код, который вычисляет среднее количество дней с даты открытия до закрытия. Когда я запускаю выражение, используя выражение Linq и лямбда-я получаю ошибку следующим образом: сообщениеНевозможно разрешить свойство для Среднее значение linq для сопоставленного объекта NHibernate
Ошибка: не удалось разрешить свойство: DateClosed.DateCreated из: TestProject.LegalWork
где код:
var result = Repository.All
.Where(x => x.DateClosed != null)
.Average(x => ((DateTime)x.DateClosed - x.DateCreated).TotalDays);
Как всегда, когда я запускаю этот цикл и фильтр только при условии, все работает нормально.
int number= 0;
decimal totalDays = 0;
foreach (LegalWork legalWork in Repository.All.Where(x => x.DateClosed != null))
{
totalDays += (decimal)((DateTime)legalWork.DateClosed - legalWork.DateCreated).TotalDays;
number++;
}
return (totalDays == 0 || numberOfLegalWork ==0) ? 0 : Convert.ToDecimal(totalDays/numberOfLegalWork);
Что не так в версии Linq и Lambda?
Я бы предпочел не преобразовывать результаты в список, прежде чем запускать среднее по результату, если это возможно. – cpoDesign