【问题标题】:How to set value of lookup field in a new entity in CRM using C#如何使用 C# 在 CRM 中的新实体中设置查找字段的值
【发布时间】:2020-04-18 10:06:50
【问题描述】:

我正在尝试通过以下代码更新 CRM 中的查找字段。

  • 创建一个新实体Person
  • Person 包含来自另一个实体医院的查找字段 HospitalOfBirth
  • 要插入的值:hospitalName

我参考了在线文章并在下面起草了我的代码。

Entity Person = new Entity("Person");

//do I set the value of the field by the following?
Person.Attributes[Person.HospitalOfBirth] = hospitalName;

Person.Attributes[Person.HospitalOfBirth] = new EntityReference("Hospital", Person.Id);

Person.Id = helper.GetOrganizationService().Create(Person);

我可以知道为 Person 中的查找字段 HospitalOfBirth 分配一个值,并使用医院名称更新它吗?

【问题讨论】:

    标签: c# dynamics-crm crm lookup microsoft-dynamics


    【解决方案1】:

    您不能通过显示名称文本设置查找值,您需要查找 Id(外键)来实现它。

    如果您只有hospitalName 而不是hospitalId,那么您必须通过使用FetchXml 执行RetrieveMultiple 来查询Hospital 实体的GUID或 QueryExpression 通过传递 hospitalName 过滤器。

    Person.Attributes[Person.HospitalOfBirth] = new EntityReference("Hospital", Hospitalid);
    

    【讨论】:

    • 谢谢@Arun!
    【解决方案2】:
    Entity Person = new Entity("Person");
    Person.Attributes[Person.HospitalOfBirth] = new EntityReference("Hospital", Person.Id);
    Person.Id = **<<Guid of the Person record you need to update>>**
    helper.GetOrganizationService().Update(Person);
    

    您需要在实体对象中提供要更新的记录的 guid。

    希望对你有帮助!!!

    【讨论】:

    • 对不起,我正在创建一个新的Person。我会更新我的标题。我可以知道值hospitalName 的插入在哪里执行吗?
    猜你喜欢
    • 2020-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-03
    • 1970-01-01
    相关资源
    最近更新 更多