4

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

我还通过 C# 在 Dynamics CRM 中使用 Web API 引用了所有数据类型的设置值

我的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。原始字段名称为:

  • new_contactid
  • new_moveid

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

如果我在这里遗漏任何东西,请告诉我。

编辑 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。

4

1 回答 1

3

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

请参阅此博客文章评论部分中的评论并适当更改:

请按照下列步骤操作:

第 1 步:转到自定义  开发人员资源。

第 2 步:单击“下载 Odata 元数据”链接并下载。

第 3 步:下载后,打开它并找出查找属性的名称(即“new_qualifiedleadid”)并检查其大小写。

第 4 步:使用您在代码中设置的值验证它应该相同。

于 2018-01-29T16:50:20.080 回答