2010-09-22 56 views
3

我有一個場景,我們正在對數據庫中的行進行軟刪除。我想包含未被刪除的行。我如何使用LINQ來實現它。Linq to Entities查詢可爲空數據類型

from c in context.ASDSet 
where (c => c.DeletedFlag.HasValue && !c.DeletedFlag.Value) 

但我無法達到的效果。

我想要得到的SQL是形式:

select * from table where IsNull(column, 0) = 0 
+1

DeletedFlag的結果集值是多少?它發射爲'0'還是'1'或真/假? – 2010-09-22 12:00:54

回答

7

這聽起來像你實際上想:

var query = Context.ASDSet.Where(c => c.DeletedFlag == null || 
             c.DeletedFlag.Value == false); 

換句話說,即包括行,其中的標誌是null,而您當前的查詢不包括標記爲空的行。