Ошибка WebApi .Net Core, поскольку не содержит определения для GetAwaiter - PullRequest
0 голосов
/ 02 декабря 2018

Я новичок в .NET Core, и я читаю этот документ https://docs.microsoft.com/en-us/aspnet/core/web-api/?view=aspnetcore-2.1

Оттуда я тренируюсь - я пишу эту логику:

public async Task<ActionResult<List<DashBoar>>> GetAllAsync()
{
    var x = _Repo.GetPetsAsync();
    return await x.ToList();
}

НоЯ получаю сообщение об ошибке.

Мой класс репо

public IEnumerable<DashBoar> GetPetsAsync()
{
    var x = from n in _context.DashBoar
            select n;
    return  x.ToList();
}

1 Ответ

0 голосов
/ 02 декабря 2018

Сначала вы должны понять, что такое асинхронное программирование, и взаимосвязь await, async и Task.

Асинхронное программирование используется для повышения производительности приложений и повышения скорости отклика.Обратитесь к ссылкам внизу, чтобы понять.

Сначала давайте рассмотрим вашу проблему.Сделайте так, чтобы ваш тип репозитория возвращал тип Tak

public async Task<IEnumerable<DashBoar>> GetPetsAsync()
{
     var x = await (from n in _context.DashBoar
             select n).ToListAsync();

     return x;
}

Затем вызовите метод репо из метода GetAllAsync (), как показано ниже

public async Task<ActionResult<List<DashBoar>>> GetAllAsync()
{
     var x = await _Repo.GetPetsAsync();
     return x;
}

Пожалуйста, пройдите по ссылкам ниже, чтобы лучше понятьасинхронного программирования.

https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/async/ https://www.youtube.com/watch?v=C5VhaxQWcpE

https://www.dotnetperls.com/async

Удачи ..!

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