CRM 不支持直接更新实体引用属性,而是使用导航属性
CRM do not support direct update of Entity Reference properties, Use Navigation properties instead
我正在使用 Ms Dynamic Web Api 和 Simple OData。我需要为 link 个实体添加新记录。
我正在使用下面的代码片段并参考文档
https://github.com/object/Simple.OData.Client/wiki/Adding-entries-with-links
var newContactData = await _oDataClient
.For<Contacts>()
.Set(new
{
firstname = contactData.ContatDetails.firstname,
lastname = contactData.ContatDetails.lastname,
emailaddress1 = contactData.ContatDetails.emailaddress1
})
.InsertEntryAsync(true);
var newContactLink = await _oDataClient.For<New_project_contactses>()
.Set(new
{
_new_contact_project_name_new_value = contactData.ContatDetailsLink._new_contact_project_name_new_value,
new_project_contactsid = new Guid("0eb46b24-21a2-e611-80eb-c4346bc5b2d4"),
new_contact_type = contactData.ContatDetailsLink.new_contact_type,
})
.InsertEntryAsync(resultRequired: true);
我收到异常
CRM do not support direct update of Entity Reference properties, Use
Navigation properties insteadS
我解决了使用 Dynamc CRM 无法直接更新引用实体字段的问题。您可以识别以“_”开头的参考实体属性。
嗯,这是可能的,但是您需要使用特殊的“@odata.bind”语法来更新您的 single-navigation 属性。
例如,要更新帐户以使其引用现有的 primarycontactid,您可以对具有以下正文的 /api/data/v8.2/accounts
端点使用 PATCH 操作:
{
"name":"Sample Account",
"primarycontactid@odata.bind":"/contacts(00000000-0000-0000-0000-000000000001)"
}
参见https://msdn.microsoft.com/en-us/library/gg328090.aspx#Anchor_3(它是在创建实体方面进行讨论的,但它也适用于更新)。
我正在使用 Ms Dynamic Web Api 和 Simple OData。我需要为 link 个实体添加新记录。
我正在使用下面的代码片段并参考文档 https://github.com/object/Simple.OData.Client/wiki/Adding-entries-with-links
var newContactData = await _oDataClient
.For<Contacts>()
.Set(new
{
firstname = contactData.ContatDetails.firstname,
lastname = contactData.ContatDetails.lastname,
emailaddress1 = contactData.ContatDetails.emailaddress1
})
.InsertEntryAsync(true);
var newContactLink = await _oDataClient.For<New_project_contactses>()
.Set(new
{
_new_contact_project_name_new_value = contactData.ContatDetailsLink._new_contact_project_name_new_value,
new_project_contactsid = new Guid("0eb46b24-21a2-e611-80eb-c4346bc5b2d4"),
new_contact_type = contactData.ContatDetailsLink.new_contact_type,
})
.InsertEntryAsync(resultRequired: true);
我收到异常
CRM do not support direct update of Entity Reference properties, Use Navigation properties insteadS
我解决了使用 Dynamc CRM 无法直接更新引用实体字段的问题。您可以识别以“_”开头的参考实体属性。
嗯,这是可能的,但是您需要使用特殊的“@odata.bind”语法来更新您的 single-navigation 属性。
例如,要更新帐户以使其引用现有的 primarycontactid,您可以对具有以下正文的 /api/data/v8.2/accounts
端点使用 PATCH 操作:
{
"name":"Sample Account",
"primarycontactid@odata.bind":"/contacts(00000000-0000-0000-0000-000000000001)"
}
参见https://msdn.microsoft.com/en-us/library/gg328090.aspx#Anchor_3(它是在创建实体方面进行讨论的,但它也适用于更新)。