2010-07-06 33 views
0
using SubSonic3 SimpleRepository; 

我已經使用了具有SENTON DATETIME列允許空值的郵件隊列的表。使用下面的Lambda表達式使我產生了錯誤,有沒有人有任何想法如何從表中選擇列是空的列。亞音速SimpleRepository查找方法可空日期時間

IList<Email> emails = _repo.Find<Email>(x => x.SentOn == null); 
IList<Email> emails = _repo.Find<Email>(x => !x.SentOn.HasValue); 
IList<Email> emails = _repo.Find<Email>(x => x.SentOn.Value.Equals(null)); 

當然有一個簡單的方法來實現這一點,而不是像它的邊緣情況。我認爲我有限的lambda/linq知識是這裏的問題。

回答

0

不知道你遇到的錯誤我猜這是因爲你正在編寫LINQ代碼,由C#執行,但你將它傳遞給SubSonic將其轉換爲SQL。

一個解決方案is in this question基本上涉及查詢所有結果的SQL數據庫,然後在C#之後使用LINQ查詢。

另外,你應該可以做一個(僞代碼).Where(fieldName).IsNull類似於SubSonic 2.0