EF (EDMX モデル - DB が最初) を使用して、「TIMESTAMP WITH TIME ZONE」を DateTimeOffset にマップします。DateTimeOffset を Oracle にコミットすると、Zone 部分が正しく保存されません。
たとえば、モデルを使用して value を挿入する場合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のみを渡します)。
誰かが回避策を知っていますか?
前もってありがとうエリ
ところで:私は.net4、EF4、Oracle 11g、ODAC 11.2リリース4(11.2.0.3.0)を使用しています