NHibernate 2.* 映射文件 : how to define nullable DateTime type (DateTime? )?

标签 nhibernate datetime nhibernate-mapping nullable

我知道 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/

相关文章:

java - Spring Boot Hibernate 将枚举集映射到 boolean 列

nhibernate - 如何使用 Fluent NHibernate 映射实体 -> 接口(interface)关系?

asp.net-mvc - ASP.NET MVC、Nhibernate 和中小型项目的存储库

NHibernate dateTime 作为 ID 坏主意?

c# - 将日期时间偏移应用于美国东部时区

python - 从字符串 '07-JUL-50' 获取年份

c# - 具有多个结果的 NHibernate 条件

javascript - 获取一周中的所有天数

.net - NHibernate 通过 where 选择将一张表映射到两个类

nhibernate:如何映射引用实体的组件?