可能重复:
LINQ 中的 Where 语句中的错误
我需要获取自某个 DateTime 以来已更改的所有报价的列表(出于导出原因)。
当然,如果报价细节发生变化,即使报价本身没有改变,也应该导出报价。
我会在T-SQL中很容易地解决这个问题:
Select q.QuoteNumber from quote q inner join quotedetails qd on q.quoteid = qs.quoteid
where ((q.lastmodified > ?1) or (qd.lastmodified > ?1)) and (qd.SomeField = 'OK')
但是,使用 Linq to CRM 2011,我偶然发现了一个限制。
var quotelist = from q in xrm.quoteSet
join qd in xrm.quoteDetailSet
on q.QuoteId equals qd.QuoteId.Id
where (q.lastmodified > ?1 | qd.lastmodified > ?1) & qd.Somefield == "OK"
select q.QuoteNumber
它表示 Quote 实体没有 SomeField 属性。
仅供参考,这只是显示问题的示例查询。我无法在现实生活中的查询中切换 Quote 和 QuoteDetail。
将我的T-SQL查询(原样)转换为CRM 2011的Linq查询的最简洁方法是什么?