2012-12-10 73 views
0

我想在Where子句中使用LINQ to SQL中的AddDays函數。AddDays是從LINQ到SQL

我需要返回所有大於當前日期的結果以及用戶定義的範圍。

這是我的代碼。

Where (DateTime.Now >= DateTime.Now.AddDays(UserEnteredDaysToAdd) 

我在做什麼錯?或者甚至有可能?

謝謝

編輯: 抱歉,我犯了一個錯誤。我想獲取當前日期和用戶輸入或存儲在數據庫中的天數之間的所有記錄。

所以應該讀,其中(StockOrderDate> = DateTime.Now.AddDays(UserEnteredDaysToAdd))

+0

不宜DateTime.Now反而是一個屬性的引用/您的列表中的對象的字段? –

回答

2

讓我們來看看你的查詢:

Where (DateTime.Now >= DateTime.Now.AddDays(UserEnteredDaysToAdd)) 

除了沒有機身右側,你正在檢查今天是否大於或等於今天加上x天。如果您不允許UserEnteredDaysToAdd的負值,那麼這種情況永遠不會發生。

你的數據結構(結果)必須要檢查,像ResultDate一些日期屬性,然後將查詢看起來像

IEnumerable<ResultType> results; 
... 
var resultsAfterDate = results.Where(r => r.ResultDate >= DateTime.Now.AddDays(UserEnteredDaysToAdd));