Devart DotConnect forPostgreSQLコネクタを使用してEntityFrameworkエンティティのnullフィールドをクエリすると、奇妙な動作が見られます。
例:次の2つのテストを行った場合:
var test1 = context.blocs.Where(x => x.id_bloc == null); var test2 = context.blocs.Where(x => x.id_bloc == 100);
EF自動生成SQLクエリをチェックすると、次の結果が得られます。
test1の結果:
{選択する
CAST(NULL AS int)AS "C1"、
CAST(NULL AS varchar)AS "C2"、
CAST(NULL AS varchar)AS "C3"、
CAST(NULL AS varchar)AS "C4"
FROM(SELECT 1 AS X)AS "SingleRowTable1"
WHERE true = false}
test2の結果:
{選択する
"Extent1" .id_bloc、
"Extent1" .numero、
"Extent1" .nom、
"Extent1" .titre
FROM "role" .bloc AS "Extent1"
WHERE "Extent1" .id_bloc = 100}
nullフィールドをクエリしたときの結果は非常に奇妙です...テスト2の結果と同様の結果を期待していましたが、"Extent1".id_bloc IS NULLWHERE句があります...
バグですか?nullフィールドを効果的にクエリするにはどうすればよいですか?