gpt4 book ai didi

entity-framework - Entity Framework 包含无法编译

转载 作者:行者123 更新时间:2023-12-04 19:50:04 25 4
gpt4 key购买 nike

我通过 DbContext 生成器生成了我的实体,并将其添加到使用我的实体上下文模型的 API Controller 。尽管以下方法无法编译:

public IEnumerable<casino> Getcasinos()
{
var casinos = db.casinos.Include(c => c.city).Include(c => c.state);
return casinos.AsEnumerable();
}

编译器说:

Cannot Convert Lambda Expression to Type 'String' Because It Is Not A Delegate Type

知道为什么要这样说吗?我导入了 System.Linq 命名空间。

最佳答案

这实际上是因为 ObjectQuery(T).Include 方法而发生的。这具有函数签名:

public ObjectQuery<T> Include(string path);

您看到它的原因可能是因为无论您在哪里调用它,都没有可用的 System.Data.Entity 命名空间。从 DbExtensions 元数据中,您可以看到使用表达式的 Include 需要 System.Data.Entity 命名空间:

namespace System.Data.Entity
{
[SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", Justification = "Casing is intentional")]
public static class DbExtensions
{
public static IQueryable<T> Include<T, TProperty>(this IQueryable<T> source, Expression<Func<T, TProperty>> path) where T : class;
public static IQueryable<T> Include<T>(this IQueryable<T> source, string path) where T : class;
public static IQueryable Include(this IQueryable source, string path);
}
}

如果包含 System.Data.Entity 命名空间,错误将得到解决。

关于entity-framework - Entity Framework 包含无法编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11532805/

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