【问题标题】:Entity Framework with Oracle - Edmmapping带有 Oracle 的实体框架 - Edmmapping
【发布时间】:2016-02-03 09:42:49
【问题描述】:

我正在 Oracle 旧数据库上使用 Entity Framework 6。 例如,EF 将 Number(1) 自动映射到 bool 或 Number(2) 到字节,但我需要将它们全部作为 Int32。

我已将 edmMappings 块添加到 app.config 中,如 Oracle 所述:https://docs.oracle.com/cd/E56485_01/win.121/e55744/entityDataTypeMapping.htm#BABGBJCI 但它不起作用,它总是生成 bool 和 int16 而不是 int32

我在 app.config 中的映射:

<oracle.manageddataaccess.client>
    <version number="*">
      <edmMappings>
        <edmNumberMapping>
          <add NETType="int32" MinPrecision="1" MaxPrecision="1" DBType="Number" />
          <add NETType="int32" MinPrecision="2" MaxPrecision="3" DBType="Number" />
          <add NETType="int32" MinPrecision="4" MaxPrecision="5" DBType="Number" />
          <add NETType="int32" MinPrecision="6" MaxPrecision="10" DBType="Number" />
          <add NETType="int64" MinPrecision="11" MaxPrecision="19" DBType="Number" />
        </edmNumberMapping>
      </edmMappings>
      <dataSources>
        <dataSource alias="SampleDataSource" descriptor="(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ORCL))) " />
      </dataSources>
    </version>
  </oracle.manageddataaccess.client>

我在这个块中尝试了不同的东西,但没有任何改变。我还有什么需要配置的吗?

【问题讨论】:

  • 您找到解决问题的方法了吗?我被同样的事情困住了。

标签: c# oracle entity-framework-6


【解决方案1】:

我有同样的问题。我从包中删除了引用“Oracle.ManagedDataAccess”,并从 Oracle Developer 工具 (C:\Program Files (x86)\Oracle Developer Tools for VS2015\odp.net\managed\common\Oracle 中设置了对已安装驱动程序的引用.ManagedDataAccess.dll)。然后映射进行。

【讨论】:

  • 我从这个答案中了解到的是,您删除了安装 Oracle.ManagedDataAccess.dll 的 NuGet 包,而是通过添加引用手动安装了 Oracle Visual Studio 开发人员工具中的 dll 并且它有效。它是否正确?我做了这个确切的过程,但遗憾的是,EdmMappings 仍然没有被考虑在内。
【解决方案2】:

如果您还没有这样做:除了 edmMappings,我认为您还必须更改模型实体中的属性类型。例如。在 Visual Studio 中,打开模型图 (*.edmx) 右键单击​​数据库中类型为 Number(X) 的属性,打开属性并将“类型”更改为所需的类型。

【讨论】:

  • 尝试通过突出显示关键信息来明确答案。
猜你喜欢
  • 2015-12-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-08
  • 2014-03-24
  • 2018-04-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多