如何执行在EF查询日期比较? [英] How do I perform Date Comparison in EF query?

查看:2393
本文介绍了如何执行在EF查询日期比较?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

请帮忙。
我想弄清楚如何使用日期或日期时间在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆