2

假设一个 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

4

4 回答 4

2

SQL 中没有像 ==(double equal) 这样的东西,如果要比较,请使用 =(single equal)。

于 2012-08-02T07:29:17.227 回答
1

它应该是it.endDate is null

于 2012-08-01T10:28:01.857 回答
1

it.endDate 为 null不起作用.... LINQ Dynamic 期望it.endDate == null

于 2015-12-05T04:22:05.677 回答
0

尝试IS

Dim  result = db.employees.Where("it.endDate IS null") 
于 2012-08-01T11:11:09.797 回答