在 Dynamics CRM 2013/2015 中列出实体关系

List Entity Relationships in Dynamics CRM 2013/2015

是否可以使用 CRM/XRM SDK return 特定类型实体(而非单个记录)的关系列表?

例如,如果我有一个名为 "Case" 的实体,我需要查看它是否与 "MyCustomEntity" 有关系,是否可以查询 "Case" 实体的架构在 CRM 中找到关系列表,检查与 "MyCustomEntity" 相关的关系。类似于在自定义项中展开“1:N 关系”选项卡。

我找到了这篇文章https://msdn.microsoft.com/en-us/library/gg509021.aspx,其中解释了如何建立新关系,但无处可说"These are the relationships that X has"

如果您通过元数据服务检索实体,则可以通过 RetrieveEntityResponse 上的实体元数据 属性 获取关系。这是一个例子:

     RetrieveEntityRequest retrieveBankAccountEntityRequest = new RetrieveEntityRequest
     {
         EntityFilters = EntityFilters.Relationships,
         LogicalName = "account"
     };
     RetrieveEntityResponse retrieveBankAccountEntityResponse = (RetrieveEntityResponse)service.Execute(retrieveBankAccountEntityRequest);

     var oneToNRelationships = retrieveBankAccountEntityResponse.EntityMetadata.OneToManyRelationships;

这是响应属性的列表:https://msdn.microsoft.com/en-us/library/microsoft.xrm.sdk.metadata.entitymetadata_members.aspx