如何执行在EF查询日期比较? [英] How do I perform Date Comparison in EF query?
问题描述
请帮忙。
我想弄清楚如何使用日期或日期时间在LINQ查询比较。
例如:
如果我想对那些所有员工姓名谁今天之前开始,我会做的SQL是这样的:
SELECT EmployeeNameColumn
从EmployeeTable中
WHERE StartDateColumn.Date< = GETDATE()//今天
但对于LINQ?
的DateTime startDT = //今天VAR EmployeeName =
从E在db.employee
其中,e.StartDateColumn< = startDT
以上的WHERE不起作用:
异常详细信息:System.NotSupportedException:指定类型的成员'日期'不是在LINQ支持实体。只有初始化,实体成员和实体导航属性都支持。
块引用>解决方案这应该工作。你肯定没有触发异常的查询的另一部分?我有如下形式的查询的几个实例
VAR的查询=从E在db.MyTable
其中,e.AsOfDate< = DateTime.Now.Date
选择e;在我的code。
Please help. I am trying to figure out how to use DATE or DATETIME for comparison in a linq query.
Example: If I wanted all Employee names for those who started before today, I would do something like this in SQL:
SELECT EmployeeNameColumn FROM EmployeeTable WHERE StartDateColumn.Date <= GETDATE() //Today
But what about linq?
DateTime startDT = //Today var EmployeeName = from e in db.employee where e.StartDateColumn <= startDT
The above WHERE doesn't work:
Exception Details: System.NotSupportedException: The specified type member 'Date' is not supported in LINQ to Entities. Only initializers, entity members, and entity navigation properties are supported.
解决方案That should work. Are you sure that there isn't another part of the query that triggered the exception? I have several instances of queries of the form
var query = from e in db.MyTable where e.AsOfDate <= DateTime.Now.Date select e;
in my code.
这篇关于如何执行在EF查询日期比较?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!