请帮忙。我想弄清楚如何使用日期或日期时间在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() //TodayBut what about linq?
DateTime startDT = //Today var EmployeeName = from e in db.employee where e.StartDateColumn <= startDTThe 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查询日期比较?
发布评论