【问题标题】:DbSet<> Does not Contain A Definition For 'ToListAsync()' Although I'm Using .NET 3.1 with EF Core尽管我使用 .NET 3.1 和 EF Core,但 DbSet<> 不包含“ToListAsync()”的定义
【发布时间】:2020-11-20 17:05:34
【问题描述】:

所以我尝试将异步方法添加到我的路由以及接口、存储库等中,并且我对所有内容都进行了正确编码。一切看起来都很棒,但是当我尝试运行该应用程序时,我收到了该错误:

Error CS1061: 'DbSet&lt;Hotel&gt;' does not contain a definition for 'ToListAsync' and no accessible extension method 'ToListAsync' accepting a first argument of type 'DbSet&lt;Hotel&gt;' could be found (are you missing a using directive or an assembly reference?) (CS1061)

我下载了 EF Core 包,甚至对大部分内容进行了硬编码,因为 .NET 没有检测到与异步方法相关的任何内容。

你知道我为什么会收到这个错误吗? 我找不到任何解决方案。编辑:顺便说一句,我在 Mac 上。

【问题讨论】:

  • 你添加了 using 命名空间Microsoft.EntityFrameworkCore 吗? docs.microsoft.com/en-us/dotnet/api/… 这是 efcore 5.0 和以前的版本,因为在 5.0 之后,看起来他们在 System.Data.Entity
  • 是的,我做到了。它甚至被 VS mac 检测到。我的意思是它没有变灰。所以我猜它应该可以工作。但是,它只是没有。
  • 当这种情况发生时,这意味着没有引用所需的程序集(可以在多个程序集中定义一个命名空间),在您的情况下所需的程序集是Microsoft.EntityFrameworkCore.dll。您的解决方案中的其他一些项目可能会定义该命名空间,让人感觉它来自 Microsoft.EntityFrameworkCore.dll,但看起来并非如此。
  • 所以该应用程序现在正在运行。等了一会儿,它开始警告我添加命名空间 System.Threading.Tasks。起初我对其进行了硬编码,但没有任何帮助,我来到了这里。你知道其余的。现在该应用程序自行解决了。谢谢。

标签: asp.net asp.net-core asp.net-web-api


【解决方案1】:

使用这个命名空间

Microsoft.EntityFrameworkCore

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-22
    相关资源
    最近更新 更多