c# - Fluent NHibernate SqlDateTime 溢出异常

标签 c# .net nhibernate orm fluent-nhibernate

我正在映射一个非常简单的 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
}

然后,您的 map 应该可以正常工作。

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

关于c# - Fluent NHibernate SqlDateTime 溢出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2705630/

相关文章:

带有来自 NuGet 的 QuickGraph 包的 C#

performance - NHibernate + Fluent 启动时间长

linq - NHibernate。加入不相关的实体

c# - ASP.Net 中的数据缓存

c# - 从 NHibernate 子查询中仅选择某些属性

c# - 如何在 MVC 5 Web View 中使用模型变量?

c# - 使用多显示器设置在 C# 中获取真正的主屏幕?

c# - 使用反射加载程序集时的内存管理

c# - cmd批处理监听控制台应用程序的输出

.net - RESTLET 的 C# 或 .Net 客户端