2011-06-30 50 views
0

我有一個具有Int32類型屬性的實體類:在使用DevArt for ORACLE生成DDL時,會生成一個NUMBER(10)列。閱讀和寫作實例完美無瑕。實體框架,Oracle,DevArt,Context#ExecuteStoreQuery:System.Int32構造爲System.Double?

但是,在獲取此實體類的實例向ObjectContext上的ExecuteStoreQuery發送自定義查詢時,此屬性似乎以System.Double的形式返回,因此構建實例失敗。

我可以提示DevArt構建System.Int32嗎?

謝謝。 Bart

回答

0

原因是在ExecuteStoreQuery方法中使用的OracleDataReader具有與實體框架提供程序中使用的不同的類型映射。
我建議你使用NumberMappings,我想你需要將Number(10)映射到Int32:Number Mappings=((NUMBER,10,10,System.Int32)。這些更改應該持久化到模型連接字符串(它們複製默認的EF映射規則,這對於ExecuteStoreQuery中的OracleDataReader是必需的)。 如果問題仍然存在,請讓我們知道。