【发布时间】:2016-03-29 09:31:06
【问题描述】:
我必须使用“转换为日期时间”的方法来将日期时间与参考月份和年份进行比较,如下所示
var res = db.Table1
//other tables, and where conditions
.Select(x => new MyObj
{
//...
Imp = x.MyTable.FirstOrDefault(y => y.date_val >= System.Data.Entity.DbFunctions.AddMonths(Convert.ToDateTime("01/" + x.month + "/" + x.year), 1))).Description
})
我知道 Convert.ToDateTime 不能从提供者那里翻译成 sql,我需要一个想法来做那个查询。
更新:我不会在转换之前实现查询,因为这显然意味着获取所有记录。
【问题讨论】:
-
Convert.ToDateTime无法转换为 T-SQL,Linq to Entities 无法识别。看看这个答案:stackoverflow.com/a/34061692/2946329 -
@S.Akbari 是的,我知道,但我需要一个解决方法或类似的东西
-
尝试使用 AsEnumerable() 通过 Linq to Objects 强制评估该部分。所以这将变成:
x.MyTable.AsEnumerable().FirstOrDefault.......... 只是一个想法,还没有用日期转换测试过。 -
@Spluf 这仍然会将整个
MyTable带入内存,这通常是不可取的。
标签: c# entity-framework linq datetime