我知道 NHibernate 2.* 的重大变化之一是不再支持 NHibernate.Nullables。因此,您在映射文件中使用什么来映射可为空的 DateTime?类型?对于即:
可以理解的是不起作用:
<property name="CreateDate" column="CreateDate" type="DateTime?" not-null="false" />
并且不再支持:
<property name="ModifiedDate" column="ModifiedDate" type="Nullables.NHibernate.NullableDateTimeType, Nullables.NHibernate" not-null="false"/>
我知道它一定很明显,但我找不到它!
答案很简单: NHibernate 将反射(reflect)相关类并发现该属性的反射(reflect)类型是 DateTime?一切都靠自己。
谢谢@Justice!
最佳答案
<property name="CreatedDate" />
- NHibernate 将反射相关类并发现该属性的反射类型是
DateTime?
,这一切都靠它自己。 - NHibernate 默认情况下会假定列名与属性名相同,除非您另有说明。
- NHibernate 将假定任何属性都可以为 null (
not-null="false"
),除非您另有说明。
如果你真的想要,它应该是这样的......
<property name="CreatedDate" type="System.Nullable`1[[System.DateTime, mscorlib]], mscorlib" />
关于NHibernate 2.* 映射文件 : how to define nullable DateTime type (DateTime? )?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/593236/