LINQ 查詢中的可為空值
在 SQL 中,ISNULL 函數允許用空字串取代 null 值。將此功能轉換為 LINQ 查詢時,可以採用類似的方法。
考慮此LINQ 查詢,其中包含一個名為xx.Online 的可空位列的聯接:
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 };
要考慮到對於aa.Online 中潛在的空值,可以使用空條件運算子:
select new { AssetID = x.AssetID, Status = aa == null ? (bool?)null : aa.Online; // a Nullable<bool> }
此檢查確保在存取其Online 屬性之前,aa 不為null。如果 aa 為 null,則結果將為 null 布林值。
另一種選擇是將預設值(例如 false)指派給 null 值:
select new { AssetID = x.AssetID, Status = aa == null ? false : aa.Online; }
在這種情況下, null 值將取代為指定的預設值。
透過利用這些技術,可以像 ISNULL 一樣處理 LINQ 查詢中的 null 值用於 SQL 中。
以上是如何處理 LINQ 查詢中的可為空值(如 SQL 的 ISNULL)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!