Io uso EF (modello EDMX - DB prima) per mappare "TIMESTAMP WITH TIME ZONE" a DateTimeOffset. quando commetto DateTimeOffset su Oracle, la parte Zona viene salvata in modo errato."TIMESTAMP WITH TIME ZONE" <--> Il mapping DateTImeOffset non recapiterà la parte Zone nei comandi INSERT (Entity Framework + Oracle)
Quindi, se si utilizza il modello, ad esempio, inserire il valore 29/02/2012 10:10:10 +04:00
, il valore che viene in realtà memorizzati in Oracle è 29/02/2012 10:10:10 +02:00
(supponendo 02: 00 è orario locale) Nota che i mapping funziona bene quando si interroga il dati. Solo INSERT (via ObjectContext.SaveChanges()) è rotto ...
Ho eseguito il debug in "Oracle.DataAccess.dll" (utilizzando ILSpy :)) e ho scoperto che il codice di mapping per EF omette la zona ("Oracle Data Provider" passa solo DateTimeOffset.DateTime).
Qualcuno sa una soluzione?
Grazie in anticipo Eli
BTW: sto usando .net4, EF4, Oracle 11g, ODAC 11.2 di uscita 4 (11.2.0.3.0)