0

如何使用 LINQ to Entities 仅比较 DateTime 中的日期,然后将其与另一个查询相加。

我想实现以下目标 - 计算具有“完成”值的类型的数量并计算今天的日期并在文本框中显示它们的总和。

 var query_test = (from c in this.db.Documents
                   where c.Type == "Complete" && c.Date == DateTime.Now.Date
                   select c).Count();

当我运行此查询时,出现异常

“'System.Nullable' 不包含'Date' 的定义,并且找不到接受'System.Nullable' 类型的第一个参数的扩展方法'Date'(您是否缺少 using 指令或程序集引用?)”

我已经尝试过其他类似帖子中的以下查询,但仍然无法正常工作

var q1 = (this.db.Documents.Where(r => r.Date.ToString("yyyy-MM-dd") == DateTime.Now.ToString("yyyy-MM-dd") && r.Type == "Complete").Count());

好心的帮助

4

1 回答 1

2

你可以试试这个。

var query_test = (from c in this.db.Documents
                   where c.Type == "Complete" && c.Date == DateTime.Today
                   select c).Count();

如果您不确定是否有时间元素,您可以截断它。

var query_test = (from c in this.db.Documents
                   where c.Type == "Complete" && EntityFunctions.TruncateTime(c.Date) == DateTime.Today
                   select c).Count();
于 2013-04-29T10:16:37.377 回答