NHibernate 无法将 MySQL 日期/时间值转换为 System.DateTime

Posted

技术标签:

【中文标题】NHibernate 无法将 MySQL 日期/时间值转换为 System.DateTime【英文标题】:NHibernate Unable to convert MySQL date/time value to System.DateTime 【发布时间】:2011-06-05 08:06:30 【问题描述】:

我收到“无法将 mysql 日期/时间值转换为 System.DateTime”错误,因为据我所知,我有一条 0000-00-00 00:00:00 的记录。现在,虽然数据永远不应该那样(它应该为空),但在某些情况下可能会发生这种情况,我不希望我的整个应用程序因此而崩溃。我正在使用 NHibernate,我尝试添加更改我的连接字符串以允许零日期时间,因此连接字符串配置如下所示:

<property name="connection.connection_string">
 Server=localhost;Database=user_system;User ID=root;Password=root;
   Allow Zero Datetime=true;
</property>

但是我仍然收到该错误。如何允许 NHibernate 允许时间戳/日期时间/数据/时间为零值?

【问题讨论】:

【参考方案1】:

添加Convert Zero Datetime=true;,可能会有帮助!

【讨论】:

那行得通。我假设将 0000-00-00 00:00:00 转换为 NULL? 有没有办法让 NHibernate 在不修改连接字符串的情况下做到这一点?

以上是关于NHibernate 无法将 MySQL 日期/时间值转换为 System.DateTime的主要内容,如果未能解决你的问题,请参考以下文章

没有外键的NHibernate映射集合

NHibernate - 无法执行查询 - 输入字符串的格式不正确

如何在网络核心中使用nhibernate配置与MySql的连接

如何使用 MySQL 配置流畅的 nHibernate

使用 NHibernate 加密和解密数据

NHibernate 中日期时间的 LIKE 查询