【发布时间】:2016-05-09 10:16:09
【问题描述】:
我刚刚迁移到 EF6,这就是正在发生的事情。 我已经完成了有关 stackoverflow 或 oracle 的任何帖子中建议的所有内容,因此我决定提出另一个问题。
1) 我的模型在一个单独的程序集中。 2)我已经完成了我应该做的一切来重新生成我的模型(删除了 .tt 文件并从数据库中刷新我的模型)。 3) 这样做之后,新的 EF 似乎太聪明了,并决定将我所有的 number(1) 字段创建为布尔值。 4)这会给我带来巨大的返工。 5) 我决定在我拥有模型的解决方案中的 web.config 中添加以下条目。
<oracle.dataaccess.client>
<settings>
<add name="int16" value="edmmapping number(1,0)" />
<add name="int16" value="edmmapping number(3,0)" />
<add name="int16" value="edmmapping number(4,0)" />
<add name="int32" value="edmmapping number(9,0)" />
<add name="int64" value="edmmapping number(18,0)" />
</settings>
</oracle.dataaccess.client>
我刷新了我的模型,一切都很好。 6) 当我运行引用了我的模型组件的应用程序时,打开与 Oracle 数据库的连接时出现以下异常。
error 2019: Member Mapping specified is not valid. The type 'Edm.Int16[Nullable=True,DefaultValue=]' of member 'TRACKATTENDANCEFLAG' in type 'Model.FACILITY' is not compatible with 'OracleEFProvider.number[Nullable=True,DefaultValue=,Precision=1,Scale=0]' of member 'TRACKATTENDANCEFLAG' in type 'Model.Store.FACILITY'.
7) 我在使用该模型的应用程序中添加了相同的条目,但没关系,我不断收到相同的异常。
8) 我没有使用托管驱动器。我正在使用 Oracle.DataAccess.Client。
9) Oracle.DataAccess.Client 版本 2.121.2.0 Oracle.DataAccess.EntityFramework 版本 6.121.2.0
有人有什么想法吗?我花了 20 多个小时试图弄清楚。我已经尝试了所有可能的组合。 Oracle 会让我生成我的模型,但在运行时针对确切的数据库失败了。
感谢您的帮助
【问题讨论】:
标签: oracle asp.net-mvc-5 entity odp.net