C# Dynamic CRM 2011-如何将一个实体添加为另一个实体的关系?

C# Dynamic CRM 2011-如何将一个实体添加为另一个实体的关系?,c#,dynamics-crm-2011,C#,Dynamics Crm 2011,我是CRM的新手,如果我可能误用了一个术语,请原谅 我有两个自定义实体(EntityA和EntityB),EntityA与EntityB的关系为1:N。我有两个EntityA实例(EntityA1和EntityA2)和一个EntityB实例(EntityB1);EntityB1是EntityA1的子级。我想让EntityB1也成为EntityA2的孩子 我目前有一个检索这些实体的插件。我如何将它们相互关联 我读了这篇()我想发表评论,但由于没有50%的声誉而无法发表评论。我想问如果我这样做会发生

我是CRM的新手,如果我可能误用了一个术语,请原谅

我有两个自定义实体(EntityA和EntityB),EntityA与EntityB的关系为1:N。我有两个EntityA实例(EntityA1和EntityA2)和一个EntityB实例(EntityB1);EntityB1是EntityA1的子级。我想让EntityB1也成为EntityA2的孩子

我目前有一个检索这些实体的插件。我如何将它们相互关联

我读了这篇()我想发表评论,但由于没有50%的声誉而无法发表评论。我想问如果我这样做会发生什么

new_凭证。new_paymentid=新实体参考(EntityA1)//新凭证为EntityB1 new_凭证。new_paymentid=新实体参考(EntityA2)


这会将凭证作为子项同时添加到EntityA1和EntityA2,还是会严重影响到EntityA1的连接?这将允许EntityB1找到其父级,但EntityA1和EntityA2是否能够找到其子级?

您所描述的是一种N:N(多对多)关系,而您所定义的是一种1:N(一对多)关系

1:N关系在N(子)侧放置查找,以创建指向1(父)侧的链接。因此,子项(EntityB)只能与一个父项(EntityA)相关。这就是EntityB1不能同时是EntityA1和EntityA2的子级的原因

N:N关系将使用intersect表,以便EntityA的任何实例都可以与EntityB的任何实例相关联。这将允许您在CRM 2011中实现您想要的目标

您可以使用CRM GUI配置N:N关系,详情见:


您的插件代码需要使用关联/解除关联消息来创建如下所示的关系:

您描述的是一个N:N(多对多)关系,而您定义的是一个1:N(一对多)关系

1:N关系在N(子)侧放置查找,以创建指向1(父)侧的链接。因此,子项(EntityB)只能与一个父项(EntityA)相关。这就是EntityB1不能同时是EntityA1和EntityA2的子级的原因

N:N关系将使用intersect表,以便EntityA的任何实例都可以与EntityB的任何实例相关联。这将允许您在CRM 2011中实现您想要的目标

您可以使用CRM GUI配置N:N关系,详情见:


您的插件代码需要使用关联/解除关联消息来创建如下所示的关系:

感谢您的精彩解释。这真的很有帮助。我想知道,即使在CRM中定义了1:N关系,我是否必须始终将EntityB关联为EntityA的子项。感谢您的精彩解释。这真的很有帮助。我想知道是否必须始终将EntityB关联为EntityA的子项,即使在CRM中定义了1:N关系。