我有一个可以为空的日期时间的数据库表字段。出于某种原因,我可以让下面的查询工作。
var requests = _db.Requests
.Where(r => r.processedDate.Value == processDate);
我 100% 确定我有四个匹配的日期,但我一直没有得到任何回报。我已经尝试了这个查询的各种变体,但没有成功。
更新
比较不起作用的原因是我通过一个javascript函数传递了processDate,就像这样
function Reprocess(processDate, spanid) {
if(confirm('Are you sure you want to re-process this batch?')) {
$.ajax({
type: "Post",
url: "?ajaxFunction=Reprocess",
data: processDate,
success: function (data, textStatus, jqXHR) {
$(spanid).html(data);
}
});
}
}
当我这样做时,我被迫将 DateTime 转换为字符串,以便将其传递给我的函数。当我将它转换为字符串时,它会四舍五入到秒,因此会丢失毫秒。这就是为什么 Linq 查询没有找到任何匹配项(因为 14 毫秒)。
如何通过 javascript 传递完整的日期时间值?还是我必须比较日期、小时、分钟和秒?