4

我们正在使用 MySQL .NET 连接器 6.7.4 来访问使用 .NET 中的 Entity Framework 5.0 的 MySQL 数据库。升级到版本 6.7.4 后,我们开始遇到允许 NULL 的时间戳列的问题。我们可以毫无问题地保存值(即,列在数据库中得到正确更新),但是每当我们检索与数据库中的行对应的实体时,与该列对应的属性总是返回 null。我们试图改变 edmx 文件中列的精度,但这根本没有改变行为。有没有其他人遇到过这个问题?除了降级到旧版本的 MySQL .NET 连接器之外,是否有任何已知的解决方法?

4

2 回答 2

1

如果使用 IFNULL 函数会发生什么?IE

SELECT IFNULL(mytimestamp,'0001-01-01 00:00:00') FROM mytable

这应该返回一个不可为空且始终具有值的列。返回的值应该是 mytimestamp 列的值或“0001-01-01 00:00:00”(您的默认值)。

于 2013-08-24T19:50:34.640 回答
1

您是否尝试将 'convert zero datetime=true' 添加到您的连接字符串?这会将 0000-00-00 值转换为 DateTime.MinValue。

请参阅 http://dev.mysql.com/doc/refman/5.5/en/connector-net-connection-options.htmlhttp://dev.mysql.com/doc/refman/5.0/en/connector-net -programming-datetime.html

了解更多信息

于 2013-08-21T09:50:23.647 回答