【发布时间】:2015-05-28 19:40:55
【问题描述】:
问题
我有一张这样的桌子:
MyModel
MyShortField Number(1,0)
MyBoolField Number(1,0)
我希望MyBoolField 仅存储 0 和 1,但我希望 MyShortField 存储 1-9。因此,在 edmx 中,我将 MyBoolField 设置为 Boolean 并将 MyShortField 设置为 Int16
我这样配置映射
<oracle.manageddataaccess.client>
<version number="*">
<edmMappings>
<edmNumberMapping>
<add NETType="bool" MinPrecision="1" MaxPrecision="1" DBType="Number"/>
<add NETType="int16" MinPrecision="1" MaxPrecision="5" DBType="Number"/>
</edmNumberMapping>
</edmMappings>
</version>
</oracle.manageddataaccess.client>
没有用。似乎我的bool 映射被int16 覆盖。出现运行时异常
Models.MyTestApp.msl(21,12):错误 2019:成员映射 指定无效。类型 成员“MyBoolField”的“Edm.Boolean[Nullable=True,DefaultValue=]” 类型“Model.MyModel”不兼容 'OracleEFProvider.number[Nullable=True,DefaultValue=,Precision=1,Scale=0]' 'Model.Store.MyModel' 类型中的成员 'MyBoolField'。
我尝试交换这两行
<add NETType="int16" MinPrecision="1" MaxPrecision="5" DBType="Number"/>
<add NETType="bool" MinPrecision="1" MaxPrecision="1" DBType="Number"/>
这一次,上面的错误消失了,但是出现了一个新的错误。
Models.MyTestApp.msl(42,12):错误 2019:成员映射 指定无效。类型 成员“MyShortField”的“Edm.Int16[Nullable=True,DefaultValue=]” 类型“Model.MyModel”不兼容 'OracleEFProvider.number[Nullable=True,DefaultValue=,Precision=1,Scale=0]' 'Model.Store.MyModel' 类型的成员 'MyShortField'。
我的短字段被布尔映射覆盖。
问题
有可能做我想做的事吗?我不想在数据库方面进行任何更改。
【问题讨论】:
标签: entity-framework-6 app-config odp.net oracle12c