我想減去兩個日期,並獲得在時間跨度值爲例減去Linq中的兩個Date到返回的時間跨度
TimeSpan duration = Convert.ToDateTime(completeDate).Subtract(Convert.ToDateTime(lastRundate));
這是正常執行的實體。如何才能做到這一點在LINQ到實體的實體框架,其中
from job in Jobs
select new JobEntity
{
Duration = job.CompleteDate.Value.Subtract(job.NextRunDate.Value)
};
哪裏喬布斯是我的表,CompleteDate & NextRunDate是數據類型的日期時間我的列名? (因爲它允許空值) 當我嘗試這種代碼,它給了我這個錯誤
LINQ到實體無法識別方法「System.TimeSpan減(的System.DateTime)」的方法,而且這種方法不能翻譯成商店表達。 請讓我知道如何去做這件事。 在此先感謝
它是'AsEnumerable()',而不是ToEnumerable()。另外值得一提的是,這會將具有所有屬性的完整'Job'實體加載到內存中。財產選擇發生在內存中。所以不必要的加載屬性會有一些開銷。您可以先投影到一個匿名類型中,該類型只包含所需的'CompleteDate'和'NextRunDate'屬性,然後在內存中應用'AsEnumerable()'和'Select'到'Duration'中。 – Slauma
@Slauma你說得對,我已經改變了'AsEnumerable()' – SeToY