Esempio n. 1
0
        /// <summary>
        /// Executes an SQL statement against the current provider
        /// and builds a typed collection of elements using the
        /// specified <paramref name="materializer"/>.
        /// </summary>
        /// <typeparam name="TEntity">The type of a collection element.</typeparam>
        /// <param name="materializer">A materialization service used to convert the data row to
        /// an instance of the specified type.</param>
        public IEnumerable <TEntity> AsEntitySet <TEntity>(IDbMaterializer <TEntity> materializer)
        {
            Precondition.Require(_command, () => Error.CommandIsNotInitialized());
            Precondition.Require(materializer, () => Error.ArgumentNull("materializer"));

            return(ExecuteOnce((command) => DataReaderConverter(command, reader =>
                                                                new ObjectReader <TEntity>(new DbQueryResultReader(reader), materializer.Materialize))));
        }
        public ObjectEnumerator(IDbDataReader reader, IDbMaterializer <TEntity> materializer)
        {
            Precondition.Require(reader, () => Error.ArgumentNull("reader"));
            Precondition.Require(materializer, () => Error.ArgumentNull("materializer"));

            _reader     = reader;
            _enumerator = _reader.GetEnumerator();
            _translator = materializer.Materialize;
        }
Esempio n. 3
0
 /// <summary>
 /// Initializes a new instance of the
 /// <see cref="Radischevo.Wahha.Data.DbCombinedSelectOperation{TEntity}"/> class.
 /// </summary>
 /// <param name="materializer">The <see cref="Radischevo.Wahha.Data.IDbMaterializer{TEntity}"/>
 /// used to transform database query results into objects.</param>
 protected DbCombinedSelectOperation(IDbMaterializer <TEntity> materializer)
     : base(materializer)
 {
 }
Esempio n. 4
0
 /// <summary>
 /// Initializes a new instance of the
 /// <see cref="Radischevo.Wahha.Data.DbSubsetOperation{TEntity}"/> class.
 /// </summary>
 /// <param name="materializer">The <see cref="Radischevo.Wahha.Data.IDbMaterializer{TEntity}"/>
 /// used to transform database query results into objects.</param>
 protected DbSubsetOperation(IDbMaterializer <TEntity> materializer)
     : base(materializer)
 {
 }
Esempio n. 5
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Radischevo.Wahha.Data.DbQueryOperation{TEntity,TResult}"/> class.
 /// </summary>
 protected DbQueryOperation(IDbMaterializer <TEntity> materializer)
 {
     Materializer = materializer;
 }