【问题标题】:Dynamic CRM 2011 - How to add one entity as a relationship of another entity?Dynamic CRM 2011 - 如何将一个实体添加为另一个实体的关系?
【发布时间】:2014-04-29 11:07:18
【问题描述】:

我是 CRM 新手,如果我可能误用某个术语,请见谅。

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

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

我读了这篇文章(Dynamics CRM 2011 - How to relate two different entities),我想发表评论,但由于没有 50 声望而无法发表评论。我想问如果我这样做会发生什么

new_voucher.new_paymentid = new EntityReference(EntityA1); //new_voucher 是EntityB1 new_voucher.new_paymentid = new EntityReference(EntityA2);

将凭证作为子代添加到 EntityA1 和 EntityA2 还是会严重连接到 EntityA1?这将允许 EntityB1 找到它的父母,但 EntityA1 和 EntityA2 能够找到它的孩子吗?

【问题讨论】:

    标签: c# dynamics-crm-2011


    【解决方案1】:

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

    1:N 关系在 N(子)端进行查找以创建到 1(父)端的链接。因此,一个孩子(EntityB)只能与一个父母(EntityA)相关。这就是为什么 EntityB1 不能同时是 EntityA1 和 EntityA2 的孩子。

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

    您可以使用 CRM GUI 配置 N:N 关系,详见:http://www.dynamicscrmtrickbag.com/2011/05/08/many-to-many-relationships-in-dynamics-crm-2011/

    您的插件代码将需要使用关联/解除关联消息来创建如下所示的关系:http://charithrajapaksha.blogspot.com/2011/08/creating-many-to-many-records-in-crm.html

    【讨论】:

    • 感谢您的精彩解释。这真的很有帮助。我想知道是否必须始终将 EntityB 关联为 EntityA 的子项,即使在 CRM 中定义了 1:N 关系。
    猜你喜欢
    • 2013-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-26
    相关资源
    最近更新 更多