Entity framework 4 实体框架,Oracle,DevArt,上下文#ExecuteStoreQuery:System.Int32构造为System.Double?

Entity framework 4 实体框架,Oracle,DevArt,上下文#ExecuteStoreQuery:System.Int32构造为System.Double?,entity-framework-4,devart,Entity Framework 4,Devart,我有一个Entity类,其属性类型为Int32:使用DevArt for ORACLE生成DDL时,会生成一个数字(10)列。读和写实例工作完美无瑕 但是,在获取此实体类的实例并向ObjectContext上的ExecuteStoreQuery发送自定义查询时,此属性似乎返回为System.Double,因此构造实例失败 我可以提示DevArt构造System.Int32吗 多谢各位。 Bart原因是,ExecuteStoreQuery方法中使用的OracleDataReader的类型映射与实体

我有一个Entity类,其属性类型为Int32:使用DevArt for ORACLE生成DDL时,会生成一个数字(10)列。读和写实例工作完美无瑕

但是,在获取此实体类的实例并向ObjectContext上的ExecuteStoreQuery发送自定义查询时,此属性似乎返回为System.Double,因此构造实例失败

我可以提示DevArt构造System.Int32吗

多谢各位。
Bart

原因是,ExecuteStoreQuery方法中使用的OracleDataReader的类型映射与实体框架提供程序中使用的类型映射不同。
我建议您使用,我想您需要将Number(10)映射到Int32:
Number Mappings=((Number,10,10,System.Int32)
。这些更改应该保留到模型连接字符串中(它们复制默认的EF映射规则,这对于ExecuteStoreQuery中的OracleDataReader是必需的)。 如果问题仍然存在,请告知我们