gpt4 book ai didi

c# - 错误 Linq to Entities 日期时间

转载 作者:太空宇宙 更新时间:2023-11-03 19:09:55 26 4
gpt4 key购买 nike

我有以下代码

var dates = query.Select(
x => DateTime.ParseExact(x.Date, "yyyy-MM", CultureInfo.InvariantCulture));

var minDate = dates.Min(x => x);

但是当我执行它时,我得到了异常

System.Data.Entity.dll but was not handled in user code

Additional information: LINQ to Entities does not recognize the method 'System.DateTime ParseExact(System.String, System.String, System.IFormatProvider)' method, and this method cannot be translated into a store expression.

我做错了什么?我该如何解决这个问题?

最佳答案

嗯,错误其实很明显。 Linq to Entities 中没有将 ParseExact 转换为 SQL。

请记住, Entity Framework 在幕后将查询转换为 SQL 命令或命令集。如果 EF 不知道如何翻译某些内容,它会抛出此错误。

一种可能的解决方案,虽然效率不高,但将 IQueryable 转换为 IEnumerable,这将允许您执行该语句。

var dates = query.ToList().Select(
x => DateTime.ParseExact(x.Date, "yyyy-MM", CultureInfo.InvariantCulture));

关于c# - 错误 Linq to Entities 日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21594049/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com