流利的NHibernate SqlDateTime溢出异常

我正在映射一个非常简单的Users表,并且我有一个名为'LastLoginDate'的列,它在sql server中被定义为可空。

我的映射如下所示:

public Users {
    Id(x => x.UserId);
    Map(x => x.UserName);
    ...
    ...
    Map(x => x.LastLoginDate).Nullable();
}

但是每次我试图以编程方式保存这个实体时,我总是得到SqlDateTime溢出异常。 如果我尝试在此列中输入一个带有'null'的手动sql语句,它将起作用。 如果我注释掉这个属性,它也会起作用。

有什么问题?

提前致谢!


你的实体应该看起来像这样:

public class User
{
   public virtual DateTime? LastLoginDate {get;set;}
   // etc
}

然后,你的地图应该正常工作。

编辑: ? 在DateTime之后指定它是可空的,并且是Nullable<DateTime>的简写形式。 如果这不是您的错误的原因,您可能需要检查Fluently.Configure指定SqlServer的正确版本。

链接地址: http://www.djcxy.com/p/26963.html

上一篇: Fluent NHibernate SqlDateTime overflow exception

下一篇: Inconsistent SQLDateTime Overflow with NHibernate