IOrganizationService更新实体的正确方法
我正在研究从C#中更新/检索实体的最佳方法。 我已经阅读了MSDN文档,但不确定使用哪种方法/何时使用这两种方法。
那么,我的问题是:
我应该使用:
-
IOrganizationService.Update()
并直接更新实体; 要么 -
IOrganization.Execute()
并创建更新请求如果答案是“它取决于”,那么哪种方法需要保证?
谢谢
首先,UpdateRequest的Update和Execute都会产生相同的结果。
主要区别在于可以使用ExecuteMultipleRequest批量处理UpdateRequest
使用CreateRequest
和UpdateRequest
您可以切换重复检测,如下例所示:
public Guid CreateTest(Entity account, IOrganizationService service) { var request = new CreateRequest { Target = account }; request.Parameters.Add("SuppressDuplicateDetection", false); var response = service.Execute(request) as CreateResponse; return response.id; }
您无法使用“ Create
和“ Update
方法执行此操作。
当然,您可以将Request
对象提供给ExecuteMultipleRequest
以限制到OrganizationService的往返次数。
我希望Create
和Update
方法稍微提高效率,但我怀疑它是否可以测量。