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