我的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;
}
}
请告诉我在哪里弄错了。