FluentNHibernate: Ketepatan default DateTime berubah?

Saat ini saya mencoba bermigrasi dari FluentNHibernate 1.4/NHibernate 3.4.1 ke FluentNHibernate 2.1.2/NHibernate 5.2.4. Database yang digunakan adalah DB2 LUW 11.1, target framework .NET adalah 4.61.

Garis pemetaan yang bermasalah:

 Map(x => x.TimeStamp).Column("TS").Nullable();

Saya sudah lama menulis tes persistensi yang memastikan tidak ada milidetik yang bertahan dari properti DateTime yang dipetakan ke bidang TIMESTAMP. Tes ini lolos dengan rakitan lama, tetapi gagal dengan rakitan baru. Saya harus menggunakan DateTimeNoMsType sebagai tipe khusus sekarang untuk mendapatkan perilaku lama (berpikir untuk menggunakan konvensi agar ditangani secara umum):

Map(x => x.TimeStamp).Column("TS").Nullable().CustomType<DateTimeNoMsType>();

Pertanyaan saya: Apakah saya benar menyarankan ada perubahan dalam penanganan default properti DateTime? Saya mencoba mencari dokumentasi/deskripsi tonggak sejarah dari berbagai versi nhibernate dan nhibernate yang lancar di GitHub, sayangnya, tidak berhasil...


person Udontknow    schedule 27.03.2019    source sumber


Jawaban (1)


Ditemukan, ini adalah perubahan yang dapat mengganggu dari NHibernate 5.0.0.

https://github.com/nhibernate/nhibernate-core/blob/5.1.5/releasenotes.txt

  • Tipe NHibernate DateTimeType, yang merupakan default untuk .Net DateTime, tidak lagi memotong sepersekian detik. Gunakan DateTimeNoMsType jika Anda ingin memotong sebagian detik. Ini juga berlaku untuk rekanan Lokal/Utc.
person Udontknow    schedule 28.03.2019
comment
Ya, ini tidak ada hubungannya dengan FluentNHibernate. - person Oskar Berggren; 04.04.2019