簡體   English   中英

實體框架將查詢轉換為空

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

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