我目前正在尝试从FluentNHibernate 1.4 / NHibernate 3.4.1迁移到FluentNHibernate 2.1.2 / NHibernate 5.2.4。使用的数据库是DB2 LUW 11.1,.NET目标框架是4.61。
有问题的映射线:
SCROLL_STATE_IDLE
很久以前,我写了一个持久性测试,以确保从映射的DateTime属性到TIMESTAMP字段不保留任何毫秒。测试通过旧程序集,但通过新程序集失败。我现在必须使用DateTimeNoMsType作为自定义类型,以获取旧的行为(考虑使用约定对其进行一般处理):
Map(x => x.TimeStamp).Column("TS").Nullable();
我的问题:我是否正确建议DateTime属性的默认处理方式发生了变化?我试图在GitHub上查找各种流利的nhibernate和nhibernate版本的文档/里程碑描述,可惜的是,这无济于事...
答案 0 :(得分:0)
找到它了,它是NHibernate 5.0.0的重大变化。
https://github.com/nhibernate/nhibernate-core/blob/5.1.5/releasenotes.txt
- NHibernate类型DateTimeType,这是.Net的默认值 DateTime,不再削减小数 秒。如果希望减少小数秒数,请使用DateTimeNoMsType。它适用于其本地/联合王国 同行。