1
我有代碼可以計算從開啓日期到結束日期之間的平均天數。 當我運行使用LINQ和lambda表達式,我得到的錯誤如下表達:無法解析平均LINQ到NHibernate映射對象的屬性
錯誤消息:無法解析屬性:DateClosed.DateCreated的: TestProject.LegalWork
其中的代碼是:
var result = Repository.All
.Where(x => x.DateClosed != null)
.Average(x => ((DateTime)x.DateClosed - x.DateCreated).TotalDays);
如何永遠當我運行這個使用循環和過濾條件只,eveything工作正常。
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