我正在查看从C#中更新/检索实体的最佳方法。我已阅读过MSDN文档,但不确定使用哪种方法/何时使用这两种方法。
所以,我的问题:
我应该使用:
IOrganizationService.Update()
并直接更新实体;或 IOrganization.Execute()
并创建更新请求
如果答案是'它取决于',哪种情况需要哪种方法?
由于
答案 0 :(得分:4)
首先,UpdateRequest的Update和Execute都会产生相同的结果。
主要区别在于可以使用ExecuteMultipleRequest
批量处理UpdateRequest答案 1 :(得分:1)
使用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
方法效率稍高,但我怀疑它是否可以衡量。