流畅的NHibernate SqlDateTime溢出异常

gil*_*lyb 4 .net c# nhibernate orm fluent-nhibernate

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

我的映射看起来像这样:

public Users {
    Id(x => x.UserId);
    Map(x => x.UserName);
    ...
    ...
    Map(x => x.LastLoginDate).Nullable();
}
Run Code Online (Sandbox Code Playgroud)

但每次我尝试以编程方式保存此实体时,我总是得到SqlDateTime溢出异常.如果我尝试在此列中输入带有"null"的手动sql语句,则可以正常工作.如果我只评论这个属性,它也会工作.

可能是什么问题???

提前致谢!

Jim*_*ert 12

您的实体应如下所示:

public class User
{
   public virtual DateTime? LastLoginDate {get;set;}
   // etc
}
Run Code Online (Sandbox Code Playgroud)

然后,您的地图应该正常工作.

edit:?after DateTime指定它是Nullable,并且是一个简短形式Nullable<DateTime>.如果这不是您的错误的原因,您可能需要检查Fluently.Configure指定正确版本的SqlServer.