Dynamic 365 CRM M:M Relationship on the form is not a transaction

    在Dynamic 365 crm系统中,两个实体创建多对多关系之后,在实体上添加多对多子网格之后,

系统原生的子网格会有添加现有记录按钮,点击按钮界面右侧弹出添加现有记录的panel,

在弹出的panel中,可以查找现有记录,选择需要的记录,此时是可以选择多条的,截图如下:

 

 此时添加多条记录时,默认系统会调用webapi的batch操作

 

而当我在添加的记录时做一些校验使得某些记录可以正常添加,某些失败时,如果校验通过的记录

会正常被正常添加,而校验失败的则会阻止添加,这个操作不是在一个事务中的,

通过官网的文档Execute batch operations using the Web API (Microsoft Dataverse) - Power Apps | Microsoft Learn

的介绍crm的 batch操作中,如果多个操作需要在一个事务中,需要将相应的request放到

change set中,

 

 

而通过测试,如上的截图中 也可以发现,这些操作并没有放到changeset中,由此可以看到这个多

对多关系,原生的子网格添加多条记录时,并不是一个事务操作。

如果系统中业务的需求必须是事务操作时,这种原生的多对关系就不能沿用了

后来在跟微软的support沟通时,确认产品组当前的设计就是这样的,且没有更改的计划,

对于微软默认的这种行为也是可以理解的,但是站在产品的角度来说,应该给开发者留一个自定义

的地方来决定是不是要作为事务,而不是强制的不放在事务里边。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值