【问题标题】:Type inacurracy类型错误
【发布时间】:2026-02-13 19:35:01
【问题描述】:

我正在尝试使用 Visual Studio 2012 和 Oracle 10g 创建 Entity Data Model。 我收到此错误:

错误 1 ​​运行转换:所有属性的类型在 引用约束的 Dependent Role 必须与 Principal Role 中的相应属性类型。的类型 实体“Model.QUARTAL”上的属性“QUARTAL_SEC_ID”与 参考中实体“Model.SEC”上的属性“SEC_ID”类型 约束“FK_QUARTAL_SEC_ID”。

确实sec_id 在数据库中有number(32)quartal_sec_id - number(10)。我不能在那里改变它。 我已将VS12 中的映射详细信息中的两种类型更改为int32。但这无济于事。 VS12能解决这个问题吗?我可以强制它接受外键中的不同值吗?

我无法将数字(10)(ORA)映射到十进制(VS),因为会得到额外的错误:

错误 2 错误 2019:指定的成员映射无效。类型 'Edm.Decimal[Nullable=False,DefaultValue=,Precision=,Scale=]' 的 'Model.QUARTAL' 类型中的成员 'QUARTAL_SEC_ID' 与 'OracleEFProvider.number[Nullable=False,DefaultValue=,Precision=10,Scale=0]' 'Model.Store.QUARTAL' 类型中的成员 'QUARTAL_SEC_ID'。

【问题讨论】:

  • 在您的应用配置中,您是否为 ...设置了任何内容?

标签: oracle visual-studio entity-framework


【解决方案1】:

我目前将 EF 5 与 Oracle 一起使用,对于数字类型,我们将实体属性设置为小数。

article 概述了数据类型。

【讨论】: