Apworks.EventStore.AdoNet.AdoNetEventStore.CreateFromReader(System.Data.IDataReader)

Here are the examples of the csharp api class Apworks.EventStore.AdoNet.AdoNetEventStore.CreateFromReader(System.Data.IDataReader) taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.

2 Examples 7

1. Example

Project: apworks-core
Source File: AdoNetEventStore.cs
protected override IEnumerable<EventDescriptor> LoadDescriptors<TKey>(string originatorClrType, TKey originatorId, long sequenceMin, long sequenceMax)
        {
            var results = new List<EventDescriptor>();
            using (var connection = this.CreateDatabaseConnection(this.config.ConnectionString))
            {
                connection.Open();
                using (var command = connection.CreateCommand())
                {
                    (string sql, IEnumerable<IDbDataParameter> parameters) = this.PrepareLoadCommand<TKey>(command, originatorClrType, originatorId, sequenceMin, sequenceMax);
                    command.CommandText = sql;
                    command.Parameters.Clear();
                    foreach (var parameter in parameters)
                    {
                        command.Parameters.Add(parameter);
                    }

                    using (var reader = command.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            results.Add(this.CreateFromReader(reader));
                        }
                        reader.Close();
                    }
                }
            }

            return results;
        }

2. Example

Project: apworks-core
Source File: AdoNetEventStore.cs
protected override async Task<IEnumerable<EventDescriptor>> LoadDescriptorsAsync<TKey>(string originatorClrType, TKey originatorId, long sequenceMin, long sequenceMax, CancellationToken cancellationToken = default(CancellationToken))
        {
            var results = new List<EventDescriptor>();
            using (var connection = this.CreateDatabaseConnection(this.config.ConnectionString))
            {
                await this.OpenAsync(connection, cancellationToken);
                using (var command = connection.CreateCommand())
                {
                    (string sql, IEnumerable<IDbDataParameter> parameters) = this.PrepareLoadCommand<TKey>(command, originatorClrType, originatorId, sequenceMin, sequenceMax);
                    command.CommandText = sql;
                    command.Parameters.Clear();
                    foreach (var parameter in parameters)
                    {
                        command.Parameters.Add(parameter);
                    }

                    using (var reader = await ExecuteReaderAsync(command))
                    {
                        while (await ReadAsync(reader))
                        {
                            results.Add(this.CreateFromReader(reader));
                        }

                        reader.Close();
                    }
                }
            }

            return results;
        }