我使用EF(EDMX模型 - 数据库优先)将"TIMESTAMP WITH TIME ZONE"映射到DateTimeOffset.当我将DateTimeOffset提交给Oracle时,区域部分保存不正确.
因此,如果使用模型,例如,插入值29/02/2012 10:10:10 +04:00,实际存储在Oracle中的值是29/02/2012 10:10:10 +02:00(假设+02:00是本地区域)请注意,查询数据时映射的工作正常.只有INSERT(通过ObjectContext.SaveChanges())被破坏了......
我调试了"Oracle.DataAccess.dll"(使用ILSpy :))并发现EF的映射代码省略了区域("Oracle Data Provider"仅传递DateTimeOffset.DateTime).
有没有人知道解决方法?
在此先感谢Eli
BTW:我使用的是.net4,EF4,Oracle 11g,ODAC 11.2第4版(11.2.0.3.0)