Могу ли я обновить идентификатор владельца Контакта, используя LINQ? - PullRequest
8 голосов
/ 13 октября 2011

Я использую CRM 2011 и пытаюсь обновить OwnerId контакта, используя этот код:

var crmContext = new CustomCrmContext(service);

var contact = crmContext.Contact.FirstOrDefault(c=>c.Id == id);
contact.OwnerId.Id= newOwnerId;
crmContext.UpdateObject(contact);
crmContext.SaveChanges();

Я не получаю никаких ошибок, однако ownerId никогда не обновляется в базе данных. Я могу обновить другие атрибуты, но мне просто интересно, может быть, OwnerId особенный, и вам нужно использовать OrganizationRequest («Назначить»)? Если да, то где это задокументировано, чтобы я знал, какие другие атрибуты я не могу обновить?

1 Ответ

12 голосов
/ 13 октября 2011

Владелец записи не может быть изменен с обновлением.Вместо этого вам необходимо отправить AssignRequest .

// Create the Request Object and Set the Request Object's Properties
var request = new AssignRequest
{
    Assignee = new EntityReference(SystemUser.EntityLogicalName, _newOwnerId),
    Target = new EntityReference(Account.EntityLogicalName,  _accountId)
};


// Execute the Request
_service.Execute(request);
...