【问题标题】:Unable to convert MySQL date/time value to System.DateTime with LINQ Where?无法使用 LINQ 将 MySQL 日期/时间值转换为 System.DateTime 在哪里?
【发布时间】:2013-05-17 21:01:49
【问题描述】:

我有声明:

var persons = _context.Persons.AsExpandable()
                                   .Where(predicate).ToList();

当我运行上述程序时,它给了我错误Unable to convert MySQL date/time value to System.DateTime

如果我使用ToString("g") 对其进行格式化,我不会收到错误消息,但问题是我有很多列返回,我想返回所有列并且不想也不想拥有明确列出Select 中的每一列。

如果我只想在 SELECT 中返回 100 行中的 99 行,我会明确地这样做吗?

【问题讨论】:

  • 这是什么类型的 LINQ? _context 是什么?
  • @SLaks - LINQ to Entities。
  • @SLaks - .Net 连接器,如果这就是你的意思的话。
  • 我明白了;我忘记了他们添加了 EF 支持。
  • @evanmcdonnal - 实体框架的查询处理管道无法处理调用表达式,这就是您需要在查询中的第一个对象上调用 AsExpandable 的原因。通过调用 AsExpandable,您可以激活 LINQKit 的表达式访问者类,该类将调用表达式替换为 Entity Framework 可以理解的更简单的构造。 LINQKit.dll 是参考。

标签: c# mysql linq .net-3.5 linq-to-entities


【解决方案1】:

Adding Convert Zero Datetime=true; 到我的连接字符串解决了这个问题。我试图检索的特定记录的日期时间值为0000-00-00 00:00:00

【讨论】:

    猜你喜欢
    • 2011-02-25
    • 2011-06-05
    • 1970-01-01
    • 2013-01-21
    • 2013-06-04
    • 1970-01-01
    • 2012-05-13
    相关资源
    最近更新 更多