[英]Entity Framework converting the query to is null
當我在 Management Studio 中運行= null
時,它不返回任何行,但是當我運行is null
我會返回數據。 在實體框架中,它正在將查詢轉換為空,有沒有其他選擇,所以我可以在實體框架中執行= null
?
這不返回任何行
SELECT *
FROM cart c
WHERE OrderId = NULL
這返回 1000 行
SELECT *
FROM cart c
WHERE OrderId IS NULL
EF 列表計數 1000 行
var Pending = (from c in db.Cart
where sc.OrderId == null
select sc.CartId).ToList();
Null 表示未知值。 在 SQL 中,試圖將任何值等同於 NULL 將導致 FALSE,這是有道理的。 因此,2 = NULL 為 FALSE。 NULL = NULL 為假。 但是,列 IS NULL 檢查列的值是否為 NULL。
C# 的語義是不同的,當 EF 框架將查詢發送到服務器時,最終會將您的查詢轉換為 IS NULL。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.