【发布时间】:2020-11-20 17:05:34
【问题描述】:
所以我尝试将异步方法添加到我的路由以及接口、存储库等中,并且我对所有内容都进行了正确编码。一切看起来都很棒,但是当我尝试运行该应用程序时,我收到了该错误:
Error CS1061: 'DbSet<Hotel>' does not contain a definition for 'ToListAsync' and no accessible extension method 'ToListAsync' accepting a first argument of type 'DbSet<Hotel>' 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