Ejemplo n.º 1
0
 public void Execute()
 {
     try
     {
         IQueryProvider queryProvider = _transactionController?.Transaction;
         if (queryProvider == null)
         {
             queryProvider = DataProvider;
         }
         using (var queryResult = queryProvider.ExecuteReader(ComposeQuery()))
         {
             foreach (var query in _queries)
             {
                 if (query.ProducesResultSet)
                 {
                     query.ResultSetProcessor?.ProcessResult(queryResult);
                     queryResult.NextResult();
                 }
             }
         }
     }
     catch
     {
         foreach (var query in _queries)
         {
             query.ResultSetProcessor?.HandleFailure();
         }
         throw;
     }
 }