我正在尝试使用 EF 4.3.1 检索一组记录。我需要获取所有在某些列中具有 NULL 值的记录。
我检查了数据库,该列中的许多行为空,该列也可以为空。EF 正在做一些奇怪的事情。查看分析器,它正在生成以下 SQL:
SELECT
CAST(NULL AS int) AS [C1]
FROM ( SELECT 1 AS X ) AS [SingleRowTable1]
WHERE 1 = 0
我的实体列被声明为“int?”
我尝试使用以下组合,但得到相同的结果:
dbset.Where(e=>e.MyNullableInt == null).ToList();
dbset.Where(e=>e.MyNullableInt.Equals(null)).ToList();
我可以通过这种奇怪行为的唯一方法是加载完整集,填充变量并在此步骤之后执行 where,这是非常无效的,因为它加载了所有数据。
任何想法如何实现这一目标?