4
我有一個列表IsActive
現在我想要得到一個給定狀態的記錄列表,但我想處理IsActive
空值爲false。 在SQL我們使用:在Linq的ISNULL相當於
SELECT * FROM dbo.Table c WHERE ISNULL(IsActive, 0) = @act
怎樣才能做到這一點的LINQ?
PS:我使用LINQ到實體,所以我不能用一個函數來投像值:
Table.Where(t=> Parse(t.IsActive) == act)
bool Parse(bool? val){
return val == true? true : false;
}
我能想到的辦法是:
Table.Where(t=> (t.IsActive==null || t.IsActive == false) && act == false)
|| (t.IsActive==true && act == true));
但這個解決方案似乎很差,我認爲應該有更好的方法。
謝謝你,救了我大量的髒代碼;) –