c# - 如何在 EF 中执行日期部分比较

标签 c# entity-framework tsql linq-to-entities datetime-comparison

我听到有人说日期时间比较由于时间部分而不起作用,因为日期时间有时间部分。

在 sql 中我总是像这样比较日期时间并且它工作正常

select * from employee
where convert(varchar,dob,112) > '20111201' // this yyyymmdd format.

我如何在 LINQ 查询中对此进行模拟?

最佳答案

如果您使用的是 .NET 4 或更高版本,只需使用 EntityFunctions.TruncateTime辅助方法。这将为您将这种类型的日期时间到日期的转换转换为 SQL。

from e in EfEmployeeContext
where EntityFunctions.TruncateTime(e.DOB) > new DateTime(2011,12,01);

关于c# - 如何在 EF 中执行日期部分比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12412231/

相关文章:

c# - 通用代理类

适用于 windows phone 7 和 8 应用程序、silverlight 客户端和 windows 平板电脑应用程序的 c# 密码学

c# - 是否可以在 EntityCollection<T> 上实现 RemoveAll()?

c# - 使用 LINQ 处理大型 SQL 查询

sql-server - 标准化平均值的 T-SQL

sql-server - 具有多个聚合列和总计列的 SQL Server PIVOT

c# - 在 C# 中使用交错顶点的 VBO

c# - 将 1500 万条记录复制到新表/服务器

c# - 创建的谓词在 Linq to Entity Framework Where 子句中不起作用

sql - 数据库名称 'tempdb' 被忽略,引用 tempdb 中的对象