FluentNHibernate:DateTime的默认精度是否改变了?

问题描述 投票:0回答:1

我目前正在尝试从FluentNHibernate 1.4 / NHibernate 3.4.1迁移到FluentNHibernate 2.1.2 / NHibernate 5.2.4。使用的数据库是DB2 LUW 11.1,.NET目标框架是4.61。

有问题的映射线:

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

我很久以前写过一个持久性测试,它确保从映射的DateTime属性到TIMESTAMP字段不会持续毫秒。测试通过旧的程序集,但失败了新的程序集。我现在必须使用DateTimeNoMsType作为自定义类型来获取旧行为(考虑使用约定来处理它):

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

我的问题:我是否正确地建议DateTime属性的默认处理有变化?我试着在GitHub查找各种流利的nhibernate和nhibernate版本的文档/里程碑描述,遗憾的是,无济于事......

c# nhibernate fluent-nhibernate nhibernate-mapping fluent-nhibernate-mapping
1个回答
0
投票

发现它,它是NHibernate 5.0.0的一个重大变化。

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

  • NHibernate类型DateTimeType是.Net DateTime的默认值,不再缩短小数秒。如果您希望切割小数秒,请使用DateTimeNoMsType。它也适用于Local / Utc对应物。
© www.soinside.com 2019 - 2024. All rights reserved.