我在SQL Server 2000上发布了一个SQL:
select * from Employee where LastUpdateDate >=DateAdd(yyyy,-1,Getdate())
它工作正常,并有一些记录。
然后我出于同样的目的写了一个Linq:
EntityQuery<Employee> query = from e in ctx.GetEmployeeQuery()
where e.DateCreated >= DateTime.Today.AddYears(-1)
但结果是空的。
如何解决?
答案 0 :(得分:3)
Linq to Entities不支持AddYear方法。它不知道如何将其转换为SQL。解决方案是预先确定价值。
var targetDate = DateTime.Now.AddYears(-1)
EntityQuery<Employee> query = from e in ctx.GetEmployeeQuery()
where e.DateCreated >= targetDate