我使用
MySQL数据库在ASP.NET MVC 3中工作,我已经设置了所有要求,连接工作正常.以下代码工作正常并产生正确的结果:
try
{
ViewBag.Model = (from n in _db.mainDatas
where n.time_stamp == new DateTime(2010, 11, 3, 0, 0, 15)
select n).Take(10).ToList();
}catch (Exception e) {
ViewBag.Error = e;
}
但是,当我将此代码更改为:
DateTime test = new DateTime(2010,11,3,0,0,15);
try
{
ViewBag.Model = (from n in _db.mainDatas
where n.time_stamp == test
select n).Take(10).ToList();
}catch (Exception e) {
ViewBag.Error = e;
}
生成此错误消息:
MySql.Data.MySqlClient.MySqlException: Fatal error encountered during command execution. —> MySql.Data.MySqlClient.MySqlException: Unable to serialize date/time value
我正在使用MySQL Connector / Net 6.3.6.任何解决这个问题的方法?
最佳答案 对于您一直在使用的Myqql的Linq to SQL提供程序,这似乎是一个问题.
在第一种情况下,日期部分位于从linq查询生成的表达式树中,其中在第二种情况下,DateTime被声明在Linq查询的一侧,因此生成的表达式树将与第一种情况不同.现在它依赖于Linq to SQL提供程序中表达式树的解析器如何处理这两种情况,在这种情况下似乎提供程序无法正确处理第二种情况表达式树.