Почему Entity Framework Core 2.2 FirstOrDefaultAsync метод не найден? - PullRequest
0 голосов
/ 26 февраля 2019

Я делаю веб-приложение со следующим -

  1. ASP.NET Core
  2. Entity Framework Core
  3. База данных SQlite
  4. AngularSPA (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" />

Ответы [ 2 ]

0 голосов
/ 04 апреля 2019

Не существует асинхронных версий операторов LINQ, таких как Where (...), OrderBy (...) и т. Д., Поскольку эти методы только создают дерево выражений LINQ и не приводят к тому, что запрос будетвыполнено в базе данных.

См. в документе Microsoft

0 голосов
/ 26 февраля 2019

Вы забыли добавить ссылку на ядро ​​платформы сущностей 'using Microsoft.EntityFrameworkCore;'

Совет. Если вы нажмете CTRL + . , это должно показать немедленное исправление.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...