0
ほとんどのクエリを実行している問題が発生しています。私は一度に1つの関連エンティティへの結合でリンククエリを生成することができます。しかし、以下の例のように複数の結合でLINQクエリを実行すると、「シーケンスに要素が含まれていません」というエラーが表示されます。Dynamics 365 OrganizationServiceContext Linq複数の結合を使用したクエリ
var query =
(
from permission in context.CreateQuery<ServiceModel.Types.idoe_permission>()
join contact in context.CreateQuery<ServiceModel.Types.Contact>()
on permission.idoe_contact_idoe_permission.Id equals contact.Id
join corporation in context.CreateQuery<ServiceModel.Types.idoe_corporation>()
on permission.idoe_idoe_corporation_idoe_permission.Id equals corporation.Id
join role in context.CreateQuery<ServiceModel.Types.idoe_role>()
on permission.idoe_idoe_role_idoe_permission.Id equals role.Id
where contact.idoe_ADB2CID == request.UserId
select new { Corporation = corporation, Role = role }
).ToList();
私は一度に1つのエンティティに「参加」することができます。私が見た他の例では、複数の結合が可能ですが、これを動作させることはできませんでした。
提案がありますか?
疑問の質問 - これは結果を返すはずですか?このクエリに一致するレコードがない可能性がありますか?私は(高度な検索を使用して)FetchXMLクエリを構築し、あなたが望む値を返すかどうかを確認することをお勧めします。また、Aronの答えのように参照名を使用する必要があります。これははるかに明確になります –