Я использую EF (модель EDMX - сначала БД), чтобы сопоставить «TIMESTAMP WITH TIME ZONE» с DateTimeOffset. когда я фиксирую DateTimeOffset в Oracle, часть Zone сохраняется неправильно.
Таким образом, если использовать модель, например, для вставки значения 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» передает только DateTimeOffset.DateTime).
Кто-нибудь знает обходной путь?
Заранее спасибо
Eli
Кстати: я использую .net4, EF4, Oracle 11g, ODAC 11.2 Release 4 (11.2.0.3.0)