/// <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; }
/// <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) { }
/// <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) { }
/// <summary> /// Initializes a new instance of the <see cref="Radischevo.Wahha.Data.DbQueryOperation{TEntity,TResult}"/> class. /// </summary> protected DbQueryOperation(IDbMaterializer <TEntity> materializer) { Materializer = materializer; }