使用LINQ to Entities(实体框架)比较日期 [英] Compare Dates using LINQ to Entities (Entity Framework)

查看:225
本文介绍了使用LINQ to Entities(实体框架)比较日期的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要从我的数据库中返回一个项目列表,该列表会在项目提供的日期的预先指定的时间到期。我的错误代码如下:

I need to return a list of items from my database that expire at a pre-specified time on the date supplied by the item. My erroneous code is as follows:

return All().Where(o => new DateTime(o.expiry_date.Year, o.expiry_date.Month, o.expiry_date.Day, 17, 30, 0) >= DateTime.Now)

我得到的错误是:

仅LINQ to Entities支持无参数构造函数和初始值设置

有谁知道如何解决这个问题?

Does anyone know how I can fix this?

推荐答案

请改用 EntityFunctions 。也许 CreateDateTime 方法。

所以也许这样:

return All().Where(o => EntityFunctions.CreateDateTime(o.expiry_date.Year, o.expiry_date.Month, o.expiry_date.Day, 17, 30, 0) >= DateTime.Now)

更新:

使用EF6时,请使用 DbFunctions

When using EF6, use DbFunctions instead.

这篇关于使用LINQ to Entities(实体框架)比较日期的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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