【发布时间】:2014-03-02 21:00:58
【问题描述】:
我有以下代码
var dates = query.Select(
x => DateTime.ParseExact(x.Date, "yyyy-MM", CultureInfo.InvariantCulture));
var minDate = dates.Min(x => x);
但是当我执行它时,我得到了异常
System.Data.Entity.dll 但未在用户代码中处理
附加信息:LINQ to Entities 无法识别该方法 'System.DateTime ParseExact(System.String, System.String, System.IFormatProvider)' 方法,并且该方法无法翻译 到商店表达式中。
我做错了什么?我该如何解决这个问题?
【问题讨论】:
-
为什么将日期时间值作为字符串存储在数据库中?如果你为你的值使用正确的类型会容易得多。
-
@MarcinJuraszek 实际上数据库包含格式为“yyyy-MM”的值,但我没有对该数据库的管理访问权限
-
@MarcinJuraszek 感谢您的编辑和关注 :)
-
所以 x.Date 实际上不是 DateTime 而是一个字符串?
-
@rikitikitik 非常感谢您的评论。是的。这也显示在异常错误中。
标签: c# sql linq entity-framework datetime