【发布时间】:2016-12-08 08:02:51
【问题描述】:
现在已经过了一天在谷歌上寻找解决方案。但还没有找到任何解决办法。
我有一个表单,我在其中使用 jQuery 日历来选择 Start 日期和 END 日期。
public Nullable<DateTime> AssignedDate { get; set; }
下面是我的 LINQ
from c in entities.tDocumentStatus
orderby c.AssignedDate descending
where (EntityFunctions.TruncateTime(c.AssignedDate) >= EntityFunctions.TruncateTime(startDate.Date) && EntityFunctions.TruncateTime(c.AssignedDate) <= EntityFunctions.TruncateTime(endDate.Date))
select new ReportMapper()
{
DocumentName = c.CheckoutFolderName,
AssignedDate = c.AssignedDate==null? (EntityFunctions.TruncateTime(c.LastUpdatedOn)): (EntityFunctions.TruncateTime(c.AssignedDate)),
});
它返回正确的记录直到开始日期小于END日期但是当
开始日期等于结束日期。它不返回记录(但是有记录)。
这个 LINQ 有什么问题。
只是比较日期
【问题讨论】:
-
那么
startDate、endDate和一个您说应该返回但不是的特定c记录中的值是什么? -
@hvd
startDate= {12/5/2016 12:00:00 AM} 和endDate= {12/5/2016 12:00:00 AM} -
TruncateTime通常会从DateTime值中去除时间部分,检查生成的查询命令是否包含WHERE startDate = endDate并尝试针对DB 运行它。 -
@TetsuyaYamamoto,对不起!!我没找到你
标签: c# asp.net sql-server linq