C# 更新现有实例的字段
我想使用数值更新实体实例中的字段。我看到的所有示例(例如)都基于检索实例、修改实例然后存储在数据库中的范例。这看起来效率很低,代码看起来很糟糕,而且不必要的长 是否有较短的方法更新实体 我有以下数据:C# 更新现有实例的字段,c#,plugins,dynamics-crm-4,C#,Plugins,Dynamics Crm 4,我想使用数值更新实体实例中的字段。我看到的所有示例(例如)都基于检索实例、修改实例然后存储在数据库中的范例。这看起来效率很低,代码看起来很糟糕,而且不必要的长 是否有较短的方法更新实体 我有以下数据: 名称为字符串(一个是lead,另一个是*new_holder*) 将guid设置为guid 值为int 字段名为“字符串” 所以,我试着这样开始 DynamicEntity entity = new DynamicEntity("new_holder"); TargetUpdateDynami
- 名称为字符串(一个是lead,另一个是*new_holder*)
- 将guid设置为guid
- 值为int
- 字段名为“字符串”
DynamicEntity entity = new DynamicEntity("new_holder");
TargetUpdateDynamic update = new TargetUpdateDynamic();
update.Entity=entity;
问题是我不确定如何处理要存储的数据
entity.Properties.Add(...);
entity["field name"] = ...;
Guid guid = ...;
Lookup lookup = new Lookup("new_holder", guid);
LookupProperty lookupProperty = new LookupProperty("id", lookup);
entity.Properties.Add(lookupProperty);
Lookup lookup1 = new Lookup("lead", guid1);
Lookup lookup2 = new Lookup("new_holder", guid2);
如果已经具有记录的Guid,则不需要首先检索实体 我没有要测试的CRM 4.0环境,但是: 1) 如果要为属性指定值,无需先检查(并添加)属性,只需编写:
entity["field name"] = ...;
但我不确定这是否也适用于主id字段
2) 标识不是查找
类型,而是键
类型,因此如果您的实体是新持有者
,则id字段是新持有者id
:
entity["new_holderid"] = new Key(guid);
因为我无法检查此语法是否有效,所以您可以随时编写:
entity.Properties.Add(new KeyProperty("new_holderid", new Key(guid)));
3) 如果要分配int
,则需要使用CrmNumber
:
entity["fieldname"] = new CrmNumber(5);
完整示例:
DynamicEntity entity = new DynamicEntity("new_holder");
entity.Properties.Add(new KeyProperty("new_holderid", new Key(guid)));
entity["field name"] = new CrmNumber(5);
TargetUpdateDynamic update = new TargetUpdateDynamic();
update.Entity = entity;
UpdateRequest request = new UpdateRequest();
request.Target = update;
UpdateResponse response = (UpdateResponse)service.Execute(request);
正如我之前所写的,我没有CRM 4.0实例,但是您可以尝试代码并检查哪些语法有效Awesome,G!明天上班时我会把它打一下,然后检查它是否正确。如果所有这些都能马上奏效,我想你也应该得到一些赏金。让我再打给你,我不能出于某种原因赏金给你。链接没有出现在我的屏幕上…:(@KonradViltersten别担心,重要的是你解决了:)
DynamicEntity entity = new DynamicEntity("new_holder");
entity.Properties.Add(new KeyProperty("new_holderid", new Key(guid)));
entity["field name"] = new CrmNumber(5);
TargetUpdateDynamic update = new TargetUpdateDynamic();
update.Entity = entity;
UpdateRequest request = new UpdateRequest();
request.Target = update;
UpdateResponse response = (UpdateResponse)service.Execute(request);