gpt4 book ai didi

c# - 动态 CRM SDK : Batch update specific fields in entity

转载 作者:太空宇宙 更新时间:2023-11-03 17:38:22 25 4
gpt4 key购买 nike

我是 Dynamics CRM 开发的新手。我想在 Dynamics CRM Online 中使用批量更新方法批量更新实体中的某些字段。我正在使用以下代码执行批量更新:

var multipleRequest = new ExecuteMultipleRequest()
{
Settings = new ExecuteMultipleSettings()
{
ContinueOnError = false,
ReturnResponses = true
},
Requests = new OrganizationRequestCollection()
};

foreach (var entity in entities.Entities)
{
UpdateRequest updateRequest = new UpdateRequest { Target = entity };
multipleRequest.Requests.Add(updateRequest);
}

ExecuteMultipleResponse multipleResponse = (ExecuteMultipleResponse)service.Execute(multipleRequest);

如何只指定要更新的字段而不是更新整个实体?

注意:我有大约 200,000 条记录要使用上述代码更新。目前,更新一批 1000 条记录大约需要 1.5 分钟。所以正在考虑一种只更新必填字段的方法。

最佳答案

我推荐的方法是为更新创建一个 new Entity() 对象。这样您的更新代码就不需要担心检索到哪些字段,它只需要更新它关心的字段。

foreach (var entity in entities.Entities)
{
var newEntity = new Entity(entity.LogicalName, entity.Id);

//Populate whatever fields you want (this is just an example)
newEntity["new_somefield"] = entity.GetAttributeValue<string>("new_somefield").ToUpper();

UpdateRequest updateRequest = new UpdateRequest { Target = newEntity };
multipleRequest.Requests.Add(updateRequest);
}

关于c# - 动态 CRM SDK : Batch update specific fields in entity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47517206/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com