[英]ISNULL equivalent in Linq
我有一個帶有列IsActive
我想得到一個具有給定狀態的記錄列表,但我想處理IsActive
其中null值為false。 在SQL中我們使用:
SELECT * FROM dbo.Table c WHERE ISNULL(IsActive, 0) = @act
如何使用LINQ做到這一點?
PS:我正在使用LINQ to Entities,因此我不能使用函數來轉換值,如:
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));
但這個解決方案似乎很差,我認為應該有更好的方法。
你可以用??
運算符而不是ISNULL
:
Table.Where(t=> (t.IsActive ?? false) == act);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.