私の CRM データベースには、m:n 関係でリンクされた 2 つのエンティティ グループ A と B があります。エンティティ B の複数のインスタンスにそれぞれリンクされたエンティティ A のインスタンスが多数あります。特定のエンティティについて、エンティティ A のインスタンスとしましょう。エンティティ B のリンクされたすべてのインスタンスを取得するにはどうすればよいですか?
var service = new OrganizationService(_connection);
var retrieveRequest = new RetrieveMultipleRequest();
retrieveRequest.Query = new QueryExpression
{
EntityName = "new_A",
ColumnSet = new ColumnSet(true)
};
var crmReponse = (RetrieveMultipleResponse)service.Execute(retrieveRequest);
crmResponse をデバッグ モードで表示すると、エンティティ A のすべてのインスタンスが表示されますが、RelatedInstances プロパティ内には何も表示されません。私は何を間違っていますか?
編集:最初の回答を得た後、次のようにコードを調整しました。
var linkEntities = new LinkEntity {
LinkFromEntityName = "new_A",
LinkToEntityName = "new_B"
};
var retrieveRequest = new RetrieveMultipleRequest();
var query = new QueryExpression
{
EntityName = "new_A",
ColumnSet = new ColumnSet(true)
};
query.LinkEntities.Add(linkEntities);
retrieveRequest.Query = query;
var crmReponse = (RetrieveMultipleResponse)service.Execute(retrieveRequest);
ただし、エラーが発生します。
new_customer_system_machine_type と new_customer_system_machine_check の間にシステムの多対多の関係はありません。カスタムの多対多の関係を介してリンクしようとする場合は、from 属性と to 属性を必ず指定してください。
ただし、その多対多の関係を作成したとき、属性名を指定しませんでした。それは単にエンティティ間のものでした。私は何を間違っていますか?
また、私のRetrieveMultipleRequest
クラスにはプロパティがありませんReturnDynamicEntities