NHibernate如何处理非可空字段的空值?

时间:2010-11-04 14:34:57

标签: nhibernate

我正在使用NHibernate,我对NHibernate如何处理非可空字段的空值有一些疑问。我认为NHibernate会在创建实体时抛出异常,但我发现一些证据表明它会将字段设置为该类型的默认值。

哪个是对的?

1 个答案:

答案 0 :(得分:2)

根据我的经验,它通常会指定一个默认值。

  • 如果您有一个具有DateTine属性的实体并且您没有为其分配任何内容,它将分配一个默认日期,通常是数据库可以处理的最旧日期。
  • 如果你有一个具有Enum属性的实体,它可以简单地分配Enum的第一个值(例如,Enum {Off = 0,On = 1},默认情况下它将为0。)
  • 数字类型当然会得到0值。

这是我在我的应用程序中找到的行为。人们可能会以某种方式让它抛出异常,但我个人并不需要它。