述語クエリの結果を使用して、Linq クエリで結合を記述しています。しかし、それは次のエラーをスローしています。ただし、SQL で同様のクエリを実行すると、期待される結果が返されます。
var predicate = PredicateBuilder.False<Product>();
foreach (var productId in productIds)
{
var tempGuid = productId;
predicate = predicate.Or(p => p.ProductId== tempGuid.ToString());
}
// This query is returning products back
var products = from p in context.ProductSet.AsExpandable().Where(predicate)
select p;
var accounts = (from a in context.AccountSet
join cl in context.ContractDetailSet
on a.AccountId equals cl.AccountId.Id
join p in products on \\ From predicate query
cl.ProductId.Id equals p.ProductId
where a.StateCode == AccountState.Active
select a).ToList();
注:最後に ToList() を削除したため、エラーはスローされませんが、アカウント オブジェクトを使用しようとすると、同じエラーが再びスローされます。
エラー
タイプ 'System.NullReferenceException' の例外が Microsoft.Xrm.Sdk.dll で発生しましたが、ユーザー コードでは処理されませんでした。
追加情報: オブジェクト参照がオブジェクトのインスタンスに設定されていません。