LINQ动态查询可空字段

时间:2012-08-01 10:27:14

标签: asp.net vb.net dynamic-linq

假设一个SQL表'employees'(包含一个名为'endDate'的可空日期时间字段)

静态LINQ:

dim  result = db.employees.where(function(c) not(c.endDate.hasValue))

完美无缺!

动态LINQ:

dim  result = db.employees.where("it.endDate == null") 

引发错误

  

运算符'='与操作数类型'DateTime不兼容?'和'布尔'

由于这个问题,现在我的项目完全被阻止了。 你们中的任何人都遇到过这个问题吗?

提前多多感谢 - zSkk

3 个答案:

答案 0 :(得分:1)

应为it.endDate is null

答案 1 :(得分:1)

it.endDate为null 无法正常工作 .... LINQ Dynamic期望 it.endDate == null

答案 2 :(得分:0)

尝试IS

Dim  result = db.employees.Where("it.endDate IS null")