Tôi sử dụng EF (mô hình EDMX - DB trước) để ánh xạ "TIMESTAMP WITH TIME ZONE" tới DateTimeOffset. khi tôi gán DateTimeOffset cho Oracle, phần Zone được lưu không chính xác."TIMESTAMP WITH TIME ZONE" <--> DateTImeOffset mapping sẽ không cung cấp phần Zone trên các lệnh INSERT (Entity Framework + Oracle)
Vì vậy, nếu sử dụng mô hình, ví dụ, để chèn giá trị 29/02/2012 10:10:10 +04:00
, giá trị mà là thực sự được lưu trữ trong Oracle là 29/02/2012 10:10:10 +02:00
(giả sử 02: 00 là khu vực địa phương) Lưu ý rằng ánh xạ chỉ hoạt động tốt khi truy vấn dữ liệu. Chỉ INSERT (thông qua ObjectContext.SaveChanges()) bị hỏng ...
Tôi đã gỡ lỗi vào "Oracle.DataAccess.dll" (sử dụng ILSpy :)) và thấy rằng mã ánh xạ cho EF bỏ qua vùng đó ("Nhà cung cấp dữ liệu Oracle" chỉ gửi DateTimeOffset.DateTime).
Có ai biết giải pháp khác không?
Cảm ơn trước Eli
BTW: Tôi đang sử dụng .net4, EF4, Oracle 11g, ODAC 11,2 phát hành 4 (11.2.0.3.0)