在SQL 中,ISNULL 函數提供了一種透過指定的替換來處理null 值的方法。若要在 LINQ 查詢中複製此功能,可以使用可為空的條件運算子 ('??')。
例如,考慮以下帶有可為空列(xx.Online) 的LINQ 查詢:
var hht = from x in db.HandheldAssets join a in db.HandheldDevInfos on x.AssetID equals a.DevName into DevInfo from aa in DevInfo.DefaultIfEmpty() select new { AssetID = x.AssetID, Status = xx.Online };
為了處理xx.Online 為null 的情況,我們可以使用可為null的條件運算子:如下:
select new { AssetID = x.AssetID, Status = aa == null ? (bool?)null : aa.Online; // a Nullable<bool> }
這裡,我們檢查aa 是否為null,如果是,我們將 Status 設為 null,否則將其設為 aa.Online 的值。這可以確保 Status 列不會有任何不可為空的值。
如果我們想要將預設值設為false 而不是null,我們可以使用以下內容:
select new { AssetID = x.AssetID, Status = aa == null ? false : aa.Online; }
透過在LINQ 查詢中合併可空條件運算符,我們可以有效地處理空值並確保結果一致且準確。
以上是如何在 LINQ 查詢中複製 SQL 的 ISNULL 函數以進行 Null 處理?的詳細內容。更多資訊請關注PHP中文網其他相關文章!