簡體   English   中英

ISNULL相當於Linq

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM