Использование dapper с сохраненными процессами в список - PullRequest
0 голосов
/ 09 февраля 2019

Я использую dapper. У меня есть некоторый код, который работал бы с оператором select, но я пытаюсь преобразовать его в хранимый процесс. Документация dapper немного разбросана по асинхронным методам.Поэтому я стараюсь изо всех сил здесь.

public async Task<ActivityHeader> GetAllActivityHeader()
{
     Task<ActivityHeader> _activityHeader= new List<ActivityHeader>();
     using (IDbConnection conn = Connection)
     {
         if (conn.State == ConnectionState.Closed)
          conn.Open();
          _activityHeader = await conn.Query<ActivityHeader>("GetActivityHeader").ToList();
      }
      commandType: CommandType.StoredProcedure);

            return _activityHeader.Result() ;
        }
    }

Как мне сделать этот метод Async совместимым для представления, а также что я должен сделать на конце представления, чтобы включить эту возможность?

1 Ответ

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

Надежная часть должна быть такой:

public async Task<ActivityHeader> GetAllActivityHeader(CancellationToken cancellationToken)
{
      ....
      if (conn.State == ConnectionState.Closed)
           await conn.OpenAsync(cancellationToken);

      var activityHeaderTask = conn.QueryAsync<ActivityHeader>("GetActivityHeader", cancellationToken);
      var result = await activityHeaderTask.AsList()

      return result;
}

. Обратите внимание, что использование разделов не входит в комплект.Кроме того, conn.Open() необходимо для бу await conn.OpenAsync(cancellationToken)

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