CRM 365虚拟实体上的错误映射选项集

时间:2019-10-12 13:52:58

标签: odata dynamics-crm-365

将虚拟实体上的选项集映射到其外部数据源时,出现以下错误:

Type mismatch of the external attribute of type ‘System.Nullable`1[System.Int32]’ expected a 'System.Nullable`1[[System.Int32, Microsoft.Xrm.DataProvider.OData.614d0bd27de7e9119c27005056876672.e98901a683e7e9119c27005056876672, Version=1.1.20.0, Culture=neutral, PublicKeyToken=null]]'

预先感谢

1 个答案:

答案 0 :(得分:0)

不能使用 Int32 映射,因此您的错误。在 D365 中使用虚拟实体必须使用枚举来设置和映射选项集。使用 $metadata:

从您的 odata 端点查看架构

示例:https://yourowndatasource.azurewebsites.net/$metadata

它将返回如下内容,找到您定义的架构 enumtypes :

<?xml version="1.0" encoding="utf-8"?>
<edmx:Edmx Version="4.0" xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx">
  <edmx:DataServices>
    <Schema Namespace="AK.IG.VirtualEntity.DataSource.Models" xmlns="http://docs.oasis-open.org/odata/ns/edm">
      <EnumType Name="ak_Lead_EventTypeCode">
          <Member Name="EugenesCode" Value="821220006" />
          <Member Name="LeadSource" Value="821220001" />
          <Member Name="LeadGenProcess" 821220001="3" /> 
...

      </EnumType>
    </Schema> 
  </edmx:DataServices>
</edmx:Edmx>

使用完全命名约定: OptionSet mapping

  1. EnumType.Name
  2. 会员姓名