我使用 EF(EDMX 模型 - 首先是 DB)将“TIMESTAMP WITH TIME ZONE”映射到 DateTimeOffset。当我将 DateTimeOffset 提交给 Oracle 时,Zone 部分保存不正确。
因此,如果使用模型,例如,插入 value 29/02/2012 10:10:10 +04:00
,则实际存储在 Oracle 中的 value 是29/02/2012 10:10:10 +02:00
(假设 +02:00 是本地区域)请注意,在查询数据时映射工作得很好。只有 INSERT(通过 ObjectContext.SaveChanges())被破坏了......
我已经调试到“Oracle.DataAccess.dll”(使用 ILSpy :))并发现 EF 的映射代码省略了该区域(“Oracle 数据提供程序”仅通过 DateTimeOffset.DateTime)。
有谁知道解决方法?
提前感谢伊莱
顺便说一句:我正在使用 .net4、EF4、Oracle 11g、ODAC 11.2 Release 4 (11.2.0.3.0)