创建实体记录但查找字段保持为空

时间:2013-03-04 15:03:22

标签: c# dynamics-crm-2011

我正在尝试创建一个事件记录,其中包含一些与服务活动相关的记录。

为此,我利用RelatedEntities属性,如下所示:

// (stripped to the essential)
Entity myRecord = new Entity("incident");

foreach(var e in myData.Select(record => record.ToEntityReference()) // (1) below
{
    Entity relatedRecord = new Entity("serviceappointment");
    // mandatory fields are set here (omitted)
    relatedRecord["new_mylookup"] = 
        new EntityReference(e.LogicalName, e.Id) { Name = e.Name };

    myRecord.RelatedEntities.Add(relatedRecord);
}
service.Execute(new CreateRequest(){ Target = myRecord });

(1):myDataIQueryable<Entity>,它从自定义实体中挑选出一些记录。数据正确率为101%(我已经检查过了)。

此代码的结果是:

  1. incident已创建
  2. 创建了serviceappointment条记录*,但我的new_mylookup属性为空*。所有其他字段都很完美,并且填充了我的数据。
  3. 在执行代码期间或服务器跟踪期间,我都没有看到任何错误。就查找字段而言,它是一个常见的查找(没有脚本,没有插件)设置为推荐。

    代码出了什么问题?

    注意:从Name移除new EntityReference(e.LogicalName, e.Id) { Name = e.Name };不会改变任何内容:new EntityReference(e.LogicalName, e.Id);仍然无法填充查询。

1 个答案:

答案 0 :(得分:1)

事实证明,我的一位同事添加了onLoad脚本,无意中消除了我设置的相同字段。我的代码从一开始就有用。