为什么找不到 Entity Framework Core 2.2 FirstOrDefaultAsync 方法?

bul*_* bd 2 c# sqlite typescript asp.net-core-webapi angular

我正在使用以下内容制作 Web 应用程序 -

  1. ASP.NET 核心
  2. 实体框架核心
  3. SQLite 数据库
  4. 角 SPA (ng 7)

我制作了一个名为 User 的模型,它具有如下所示的一些属性 -

public class User
{
    public int Id { get; set; }
    public string UserName { get; set; }
    public byte[] PasswordHash { get; set; }
    public byte[] PasswordSalt { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我选择的是模型优先方法并相应地迁移数据以创建表

public DbSet<User> Users { get; set; }
Run Code Online (Sandbox Code Playgroud)

但是每当我试图找到具有以下内容的用户时 -

public async Task<User> Login(string userName, string password)
{
  var user = await _context.Users.
}
Run Code Online (Sandbox Code Playgroud)

它没有向我展示 FirstOrDefaultAsync 方法。我很困惑为什么它会这样显示我?

以下是我用于 API 项目的版本 -

<PackageReference Include="Microsoft.AspNetCore.App" />
<PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.2.0" PrivateAssets="All" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="2.2.2" />
Run Code Online (Sandbox Code Playgroud)

Tia*_*lva 9

您忘记添加对实体框架核心的引用 'using Microsoft.EntityFrameworkCore;'

提示:如果你点击CTRL+.它应该显示立即修复。

  • 也许 Visual Studio 出了问题并且无法跟踪您的包裹,请尝试清理您的解决方案,关闭 Visual Studio 并重新打开它,然后尝试再次构建,然后应用答案中提到的提示 (2认同)