流利的Nhibernate mysql日期问题

时间:2012-04-21 13:53:32

标签: mysql nhibernate datetime fluent-nhibernate

当MySql中的datetime字段等于“0000-00-00 00:00:00”时,NHibernate无法将其转换为.net日期时间。

错误消息:

"Unable to convert MySQL date/time value to System.DateTime"

如何配置Fluent NHibernate将值转换为null或datetime.min?

编辑:

我试过这个: NHibernate Unable to convert MySQL date/time value to System.DateTime 但它不起作用。 这是我的配置:

string connectionString = "Server=SERVER;Port=3306;Database=DB;Uid=USER;Pwd=PASSWORD; Allow Zero Datetime=true;";
        return Fluently.Configure()
          .Database(MySQLConfiguration
                        .Standard
                        .ConnectionString(connectionString)
                        )
         .Mappings(m => 
                        m.FluentMappings
                        .AddFromAssemblyOf<MyMapping>()
                    )
         .BuildSessionFactory()
         ;

1 个答案:

答案 0 :(得分:2)

我提到的帖子有关于转换零日期时间的建议,我在你的配置上没有看到它。

你有没有这样试过:

string connectionString = "Server=SERVER;Port=3306;Database=DB;Uid=USER;Pwd=PASSWORD; Allow Zero Datetime=true;Convert Zero Datetime=true";
        return Fluently.Configure()
          .Database(MySQLConfiguration
                        .Standard
                        .ConnectionString(connectionString)
                        )
         .Mappings(m => 
                        m.FluentMappings
                        .AddFromAssemblyOf<MyMapping>()
                    )
         .BuildSessionFactory()
         ;