如何将动态crm查找字段值设置为null?

问题描述:

有时,当我们想要将数据从SQL数据库迁移到动态CRM时,有一些列值为空值。包含空列的记录不会在CRM中创建。所以,我想我需要提出一些条件,以便在数据库中创建具有空值的CRM记录。看看我曾尝试:如何将动态crm查找字段值设置为null?

if (!string.IsNullOrEmpty(dt.Rows[i][8].ToString())) 
    { 
     Guid hubid = new Guid(dt.Rows[i][8].ToString()); 
     rs["new_hubid"] = new EntityReference("new_hub", hubid); 
    } 
    else 
    { 
     **Solution 1**: rs["new_hubid"] = new EntityReference("new_hub", null); 
     **Solution 2**: rs["new_hubid"] = null; 
    } 
    service.Create(rs); 

从解决方案1和方案2,哪一个是最适合你设置查找值设置为null?

解决方案2是清除EntityReference的正确方法。

作为附注,您可能需要考虑生成early bound entities以避免难以维护代码,例如dt.Rows[i][8].ToString()

+0

现在你很挑剔,只要用户知道第8列是GUID,第28列是位字段,就像第23和第17列都是字符串,我没有看到dt.rows有问题[I] [8]。 – dynamicallyCRM