Dynamic 365多对多关系

首先需要添加多对多关系:

1.找到解决方案,找到到需要添加多对多关系的实体,然后点击N:N关系,点击新建多对多关系

 2.选择对应表,会生成关系名称和关系实体名称

3.在后台插入多对多关系表数据,注意:多对多的数据不可以重复添加

 QueryExpression q_servicemainplan_salesorder = new QueryExpression(new_newentity);
            q_servicemainplan_salesorder.ColumnSet = new ColumnSet(true);
            q_servicemainplan_salesorder.Criteria.AddCondition("id", ConditionOperator.Equal, Guid); 
            q_servicemainplan_salesorder.Criteria.AddCondition("id", ConditionOperator.Equal, Guid); 
            var e_servicemainplan_salesorder = service.RetrieveMultiple(q_servicemainplan_salesorder);
            if (e_servicemainplan_salesorder.Entities.Count == 0)
            {
                //如果不存在关系就插入一条关系
                service.Associate(“t1实体名”, "t1Guid”, new Relationship("多对多关系名"), new EntityReferenceCollection() { new EntityReference(“t2实体名”, “t2Guid”) });
            }

4.

adminService.Associate("当前名称",当前id,new Relationship("多对多关系英文名"),new EntityReferenceCollection(){new EntityReference("关联的实体",关联的实体id)});

EntityReferenceCollection relatedEntities = new EntityReferenceCollection();                                                                                             
                    relatedEntities.Add(new EntityReference(Account.EntityLogicalName, _account1Id));
                    relatedEntities.Add(new EntityReference(Account.EntityLogicalName, _account2Id));
                    relatedEntities.Add(new EntityReference(Account.EntityLogicalName, _account3Id));

                    // Create an object that defines the relationship between the contact and account.
                    Relationship relationship = new Relationship("account_primary_contact");


                    //Associate the contact with the 3 accounts.
                    _service.Associate(Contact.EntityLogicalName, _contactId, relationship,
                        relatedEntities);

                    Console.WriteLine("The entities have been associated.");

                    //Disassociate the records.
                    _service.Disassociate(Contact.EntityLogicalName, _contactId, relationship,
                        relatedEntities);

翻译:创建一个新的实体。
                    添加(新的实体参考(帐户. EntityLogicalName,_account1Id));
                    相关实体。添加(新的实体参考(帐户。实体逻辑名称,_account2Id));
                    相关实体。添加(新的实体参考(帐户。实体逻辑名称,_account3Id));

                    //创建一个定义联系人和帐户之间关系的对象。
                    关系关系=新关系("account_primary_contact");


                    //将联系人与3个帐户关联起来。
                    _service协理(联系人. EntityLogicalName,_contactId,关系,
                        相关实体);

                    控制台。WriteLine(“实体已关联。”);

                    //解除记录的关联。
                    _service解除关联(联系人. EntityLogicalName,_contactId,关系,
                        相关实体);

    service.Associate("new_delivertrack", gid, new Relationship("new_new_delivertrack_contact"), new EntityReferenceCollection() { new EntityReference("contact", contactid) });

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值