EF 6.1.3,带有过滤器的Linq查询,其中columnname == NULL不提取任何行

时间:2016-06-09 10:49:49

标签: entity-framework entity-framework-6 entity-framework-5

技术:EF 6.1.3,数据库第一种方法和SQL Server。

问题:我遇到了以下Linq查询的问题,

EmployeeEntities db = new EmployeeEntities();
IQueryable<Model.Employee> employees = from e in db.Employee
                                       where e.EmployeeName == null
                                       select e;

我试图让EmployeeName为空的员工但我没有得到任何记录,而当我在数据库(SQL Server)中查询时,我正确地得到了结果。< / p>

我怀疑linq查询没有将where子句转换为EmployeeName IS NULL,但它只是转换为EmployeeName == null

请告诉我如何解决此问题..

谢谢, 普拉卡什。

1 个答案:

答案 0 :(得分:0)

您需要调用ToList()来实现查询。 EF肯定会转换为SQL中的正确运算符。

所以代码变成:

List<Model.Employee> employees = (from e in db.Employee
                                       where e.EmployeeName == null
                                       select e).ToList();