重複の可能性:
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クエリに変換する最もクリーンな方法は何ですか?