CRM 2011 -在LINQ查询中比较年份-给出错误:Invalid 'where'条件.实体成员正在
本文关键字:Invalid where 实体 成员 条件 出错 查询 LINQ 2011 比较 CRM | 更新日期: 2023-09-27 18:19:16
我尝试了几种方法来比较日期中的年份,但每次我都得到"无效'where'条件。实体成员正在调用无效的属性或方法。"-错误!
我使用的方法:
var openInvoices = orgContext.CreateQuery<Invoice>().Where(i => i.SKY_InvoiceDate.Value.Year == 2010);
var openInvoices = orgContext.CreateQuery<Invoice>().Where(i => i.GetAttributeValue<DateTime?>("SKY_InvoiceDate".ToLower()).Value.Year == 2011);
var openInvoices = orgContext.CreateQuery<Invoice>().Where(i => i.SKY_InvoiceDate.Value.Year.Equals(2010));
有没有办法让我得到2011年的所有发票?
谢谢你的帮助!
问题是无法正确翻译对DateTime的Year属性的调用。一个简单的解决方法:
var openInvoices = orgContext.CreateQuery<Invoice>()
.Where(i =>
i.SKY_InvoiceDate.Value >= new DateTime(2010, 1, 1)
&& i.SKY_InvoiceDate.Value < new DateTime(2011, 1, 1));