【发布时间】: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