我需要从我的数据库中返回一个项目列表,这些项目在项目提供的日期的预定时间到期。我的错误代码如下:
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 仅支持无参数构造函数和初始化程序
有谁知道我该如何解决这个问题?
我需要从我的数据库中返回一个项目列表,这些项目在项目提供的日期的预定时间到期。我的错误代码如下:
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 仅支持无参数构造函数和初始化程序
有谁知道我该如何解决这个问题?
请改用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。
您可以使用:
var result = await db.Articles
.Where(TruncateTime(x.DateCreated) >= EntityFunctions.TruncateTime(DateTime.Now))
.ToListAsync();
Please use:
return All().Where(o => EntityFunctions.CreateDateTime(o.expiry_date.Year, o.expiry_date.Month, o.expiry_date.Day, 17, 30, 0) >= DateTime.Now)