CRM:无法更新联系人的 OriginatingLeadId

CRM: Can't update OriginatingLeadId of Contact

我的 CRM 2011 API 出现了一个非常奇怪的行为。当我尝试将 originatingleadid 联系人字段从一个值更新为另一个值时,没有任何反应。代码中没有任何错误,因此在执行代码时一切看起来都很完美。但价值并没有真正改变。

我写了一个简单的方法来测试它,得到了相同的结果。 在这里。

class Program
{
    private static IOrganizationService service;

    static void Main(string[] args)
    {
        var contactId = Guid.Parse("B5A832D6-93DD-E611-ABAC-005056810E95");
        var leadId = Guid.Parse("8306E695-94DD-E611-ABAC-005056810E95");
        getService("admin", "password", "domain");

        SetOriginatingLead(contactId, leadId);
    }

    private static void SetOriginatingLead(Guid contactId, Guid leadId)
    {
        var entity = service.Retrieve("contact", contactId, 
new ColumnSet("originatingleadid"));
        var targetlead = new EntityReference("lead", leadId);
        entity["originatingleadid"] = targetlead;
        service.Update(entity);
        return;
    }

    private static void getService(string login, string password, string domain)
    {
        if (service != null)
            return;

        var cred = new ClientCredentials();
        cred.Windows.ClientCredential = 
new NetworkCredential(login, password, domain);
        service = new OrganizationServiceProxy(new 
Uri(@"http://crm/organisation/XRMServices/2011/Organization.svc"), null, cred, null);
            return;
    }
}

请告诉我我哪里错了。

您无法更新 OriginatingLeadId 的值。这可以在 SDK.

的 EntityMetadata.xlsx 文件中看到