public async Task <IList <string> > Test(int delay, CancellationToken cancellationToken) { var result = new List <string>(); using (this.profiler.Profile(new ProfileOperationSpecification("test"))) { using (var connection = new ProfiledDbConnection(new SqlConnection(ConfigurationManager.ConnectionStrings["Test"].ConnectionString))) { { var id = (await connection.QueryAsync <int>( "select top 1 Id from TestRocksProfilingTable where 1 = 1 order by Id desc; " + $"waitfor delay '{TimeSpan.FromMilliseconds(delay)}';")).FirstOrNull(); result.Add($"Selected via ADO+Dapper: {id}"); } using (var command = connection.CreateCommand()) { if (connection.State != ConnectionState.Open) { await connection.OpenAsync(cancellationToken); } command.CommandText = "select top 1 Id from TestRocksProfilingTable where 2 = 2 order by Id desc; " + $"waitfor delay '{TimeSpan.FromMilliseconds(delay)}';"; var id = await command.ExecuteScalarAsync(cancellationToken) as int?; result.Add($"Selected via ADO: {id}"); } using (var command = connection.CreateCommand()) { if (connection.State != ConnectionState.Open) { await connection.OpenAsync(cancellationToken); } command.CommandText = "select top 1 Id from TestRocksProfilingTable where 3 = 3 order by Id desc; " + $"waitfor delay '{TimeSpan.FromMilliseconds(delay)}';"; var id = await command.ExecuteScalarAsync(cancellationToken) as int?; result.Add($"Selected via ADO (2): {id}"); } } return(result); } }
public List <CashFlow> LoadAllAccountCashFlows(string accountNumber) { List <CashFlow> cashFlows = new List <CashFlow>(); using (IDbConnection con = new ProfiledDbConnection( new SqlConnection(_connectionString), MiniProfiler.Current)) { con.Open(); using (IDbCommand cmd = con.CreateCommand()) { cmd.CommandText = $"{SQL} WHERE f.AccountNumber = @AccountNumber"; cmd.AddParameterWithValue("@accountNumber", accountNumber); using (IDataReader reader = cmd.ExecuteReader()) { while (reader.Read()) { var cashFlow = this.DecodeRow(reader); cashFlows.Add(cashFlow); } } } } return(cashFlows); }