使用c_、linq to sql、sql server,我有:

MyTable has a column with a "datetime null" column.

DateTime? aDateTime;

var records = (from row in MyTable where row.StartDate == aDateTime);

我注意到查询没有达到我的预期。具体来说,如果adatetime为空,则查询StartDate = null而不是StartDate IS null,这样就找不到列值为空的记录。更改为:
where aDateTime.HasValue ? (row.StartDate == aDateTime) : (row.StartDate == null)

工作但很烦人。这个问题有更简单的解决办法吗?

最佳答案

我想Object.Equals(row.StartDate, aDateTime)会成功的。
有很多关于这个on Google。例如,this post

07-27 13:58