使用MySQL .NET Connector访问NULL时间戳列

时间:2013-08-15 11:57:13

标签: c# mysql .net sql entity-framework

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

2 个答案:

答案 0 :(得分:1)

您是否尝试过将“convert zero datetime = true”添加到您的connectionstring? 这会将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

了解更多信息

答案 1 :(得分:1)

如果使用IFNULL功能会怎样?即。

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

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