簡體   English   中英

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

[英]Why Entity Framework Core 2.2 FirstOrDefaultAsync method not found?

我正在使用以下內容制作 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; }
}

我選擇的是模型優先方法並相應地遷移數據以創建表

public DbSet<User> Users { get; set; }

但是每當我試圖找到具有以下內容的用戶時 -

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

它沒有向我展示 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" />

您忘記添加對實體框架核心'using Microsoft.EntityFrameworkCore;'的引用

提示:如果您按CTRL + . 它應該顯示立即修復。

沒有 LINQ 運算符的異步版本,例如 Where(...)、OrderBy(...) 等,因為這些方法只會構建 LINQ 表達式樹,不會導致在數據庫中執行查詢。

在 Microsoft 文檔中查看

萬一像我這樣的菜鳥偶然發現了這一點,我只需要添加:

使用 System.Linq;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM