我有一個名爲EndDate的DateTime?
列的sql-server-ce 4數據庫。當我刪除一條記錄時,我設置了這個結束日期,當我想要檢索一個記錄列表時,我想通過在enddate上應用一個過濾器來過濾所有刪除的記錄。將linq中的DateTime與sql server ce進行比較的最簡單方法是什麼?
我使用實體框架通過linq應用此過濾器。
我的LINQ查詢看起來是這樣的:
protected IDbSet<TEntity> Entities;
...
Entities.AsNoTracking().AsQueryable()
.Where(entity => !entity.EndDate.HasValue || entity.EndDate.Value > DateTime.UtcNow);
當我執行這個LINQ查詢我得到以下錯誤:
The function 'CurrentUtcDateTime' is not supported by SQL Server Compact.
搜索這個錯誤告訴我,(如果我的理解是正確)我不能使用DateTime.UtcNow。
我的問題是:有什麼方法可以達到我想要達到的目標?
有沒有不同的功能,我可以通過linq使用?或者我應該使用更原始的解決方案,我也將日期時間轉換爲時代並比較這些?
你現在試過'var now = DateTime.UtcNow;'然後'... entity.EndDate.Value>;'? – Igor
entity.EndDate.Value.ComparetTo(otherDate)lookup CompareTo – kblau
謝謝伊戈爾,這沒有把戲。我以爲我嘗試過,但我想我沒有。我仍然想知道爲什麼一個變種被接受,而一個財產不是?有任何想法嗎? – Cornelis