【发布时间】: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