public override async Task <TResult> ExecuteReader <TResult>(string commandText, IDictionary <string, object> parameters, Func <IDataReader, TResult> readerMapper) { using (var connection = await _connectionProvider.GetOpenConnection().ConfigureAwait(false)) using (var command = (SqliteCommand)connection.CreateCommand()) { command.CommandType = CommandType.Text; command.CommandText = commandText; parameters.ForEach(p => command.Parameters.Add(CreateParameter(p))); using (var reader = await command.ExecuteReaderAsync()) { return(readerMapper(reader)); } } }
private TResult ExecuteReader <TResult>(string useStatement, string commandText, IEnumerable <KeyValuePair <string, object> > parameters, Func <IDbReader, TResult> readerMapper) { using (var connection = _connectionProvider.GetOpenConnection()) using (var command = connection.CreateCommand()) { command.CommandType = CommandType.Text; command.CommandText = useStatement + commandText; parameters.ForEach(parameter => command.Parameters.Add(new SqlParameter(parameter.Key, parameter.Value ?? DBNull.Value))); using (var reader = command.ExecuteReader()) { var r = new DbReader(reader); return(readerMapper(r)); } } }
public async Task Initialize(bool useTransaction) { Connection = await Provider.GetOpenConnection(); if (useTransaction) { Transaction = Connection.BeginTransaction(); } }
private async Task <TResult> ExecuteReader <TResult>(string useStatement, string commandText, IEnumerable <KeyValuePair <string, object> > parameters, Func <IDataReader, TResult> readerMapper) { using (var connection = await _connectionProvider.GetOpenConnection().ConfigureAwait(false)) using (var command = connection.CreateCommand()) { command.CommandType = CommandType.Text; command.CommandText = useStatement + commandText; parameters.ForEach(p => command.Parameters.Add(CreateSqlParameter(p))); TResult result; using (var reader = command.ExecuteReader()) { result = readerMapper(reader); } return(result); } }
public override TResult ExecuteReader <TResult>(string commandText, IDictionary <string, object> parameters, Func <IDbReader, TResult> readerMapper) { using (var connection = _connectionProvider.GetOpenConnection()) using (var command = connection.CreateCommand()) { command.CommandType = CommandType.Text; EnableForeignKeys(command); command.CommandText = commandText; parameters.ForEach(parameter => command.Parameters.Add(new SqliteParameter(parameter.Key, parameter.Value ?? DBNull.Value))); using (var reader = command.ExecuteReader()) { var r = new DbReader(reader); return(readerMapper(r)); } } }