使用 Web 在 CRM 数据库中添加查找 GUID 字段时出现错误请求错误 API

Bad request error while adding a lookup GUID field in CRM database using Web API

我想在 CRM 的自定义实体中插入一条新记录,其中一个字段是查找类型,即 new_contactid,它依赖于 contact 实体。

我也提到了Set Values of all Data Types using Web API in Dynamics CRM Through C#

我的JSON数据如下:

{ "new_transactionnumber":"114", "new_transactionamount":650, "new_transactiondate":"2018-01-29T15:01:00.000Z", "new_contactid_contact@odata.bind":"/contacts(afb9e006-6be5-e711-80ed-bef806786223)", "new_moveid_new_move@odata.bind":"/new_moves(896f2dcd-b2fa-e711-80ef-bef806786223)" }

此处,最后 2 个字段用于查找 GUID。原始字段名称为:

我在最后添加的是主键的实体名称

如果我遗漏了这里的任何内容,请告诉我。

编辑 1: 以下是我在 OData 文件中找到的查找字段的引用:

<NavigationProperty Name="new_contact_new_transaction_contactid" Type="Collection(mscrm.new_transaction)" Partner="new_contactid" />

<Property Name="_new_contactid_value" Type="Edm.Guid">
  <Annotation Term="Org.OData.Core.V1.Description" String="ContactId" />
  <Annotation Term="Org.OData.Core.V1.Computed" Bool="true" />
  <Annotation Term="Org.OData.Core.V1.Permissions">
    <EnumMember>Org.OData.Core.V1.PermissionType/Read</EnumMember>
  </Annotation>
</Property>

<NavigationProperty Name="new_contactid" Type="mscrm.contact" Nullable="false" Partner="new_contact_new_transaction_contactid">
  <ReferentialConstraint Property="_new_contactid_value" ReferencedProperty="contactid" />
</NavigationProperty>

<NavigationPropertyBinding Path="new_contact_new_transaction_contactid" Target="new_transactions" />

<NavigationPropertyBinding Path="new_contactid" Target="contacts" />

编辑 2这些查找字段是绑定到其他现有实体主键的 GUID。

基本上,导航 属性 将使用模式名称(Camel 大小写)而不是逻辑名称(pascal 大小写)。

请参考 this blog post 评论部分的评论并适当更改:

Please follow the steps listed below :

Step 1 : Goto Cutomization  Developer Resource.

Step 2 : Click to “Download Odata Metadata” link and Download the same.

Step 3 : Once Download, open it and find out name of lookup attribute ( i.e. “new_qualifiedleadid”) and check its casing.

Step 4 : Verify it with the value which you are setting in the code it should be same.