2
var myRows = myContext.MyTable
    .Where(v => v.MyColumn == null);

「MyColumnがnull」の行がたくさんあるにもかかわらず、これはテーブルから行を選択しませんか?

MyColumn に null が含まれる行を選択する必要があります。

T-SQL では "IS NULL" 演算子を使用する必要があることはわかっていますが、Linq で必要な行を選択するにはどうすればよいでしょうか?

Entity Framework 5.0 を使用しています。

これが機能する場合は、私のバグが別の場所にあるはずなので、お知らせください。

ありがとう

4

2 に答える 2

3

これが機能しない一般的な理由の 1 つは、null 許容 DB 列 (たとえば、MyColumn INTEGER NULL) を C# クラスの null 非許容フィールド (たとえば、int MyColumnではなくint? MyColumn) にマップする場合です。

この問題を解決するには、 が null 許容型であることを確認してくださいMyColumn。それ以外は、式が正しい場合、EF はそれを に正しく変換しIS NULLます。

于 2013-10-20T02:22:44.880 に答える
1

はい、編集どおりに機能するはずです。チェックする可能性のあることは、edmxで列がnull可能として正しく示されていますか? そうじゃないなら問題になると思う

于 2013-10-20T02:18:58.900 に答える