Esempio n. 1
0
        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));
                    }
                }
        }
Esempio n. 2
0
        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));
                    }
                }
        }
Esempio n. 3
0
        public async Task Initialize(bool useTransaction)
        {
            Connection = await Provider.GetOpenConnection();

            if (useTransaction)
            {
                Transaction = Connection.BeginTransaction();
            }
        }
Esempio n. 4
0
        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);
                }
        }
Esempio n. 5
0
        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));
                    }
                }
        }