Не удается неявно преобразовать тип 'PostgreSql .Entities.UserActionEntity' в 'System.Threading.Tasks.Task <PostgreSql .Entities.UserActionEntity> - PullRequest
0 голосов
/ 27 апреля 2020

Я пытаюсь вернуть UserActionEntity из моей БД и выдает следующую ошибку:

Cannot implicitly convert type 'PostgreSql.Entities.UserActionEntity' to 'System.Threading.Tasks.Task<PostgreSql.Entities.UserActionEntity>'

Вот мой фрагмент кода:

    public Task<UserActionEntity> GetUserActionStatus()
        {
            var userId = _httpContextAccessor.HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value;

            var result = _context.tbl_UserActions
                    .Where(x => x.UserId.ToString() == userId)
                    .FirstOrDefault();

            return result;
}

Почему я получаю ошибка при возврате результата? Может кто-нибудь сказать мне, что я здесь делаю не так?

Ответы [ 2 ]

0 голосов
/ 28 апреля 2020

С другой стороны, вы можете подумать, почему ваш _context не может возвращать данные асинхронно. Ваш метод ожидает, что это действие вернет Задачу. Конечно, Task.FromResult будет работать здесь

0 голосов
/ 27 апреля 2020

Возврат Task.FromResult(result) вместо. Ваша сигнатура метода ожидает возврата Task<UserActionEntity>, поэтому, поскольку result является UserActionEntity, оберните его в Task с Task.FromResult

...