public ObjectReader(IDbDataReader reader, Func <IDbDataRecord, TEntity> translator) { Precondition.Require(reader, () => Error.ArgumentNull("reader")); Precondition.Require(translator, () => Error.ArgumentNull("translator")); _enumerator = new ObjectEnumerator <TEntity>(reader, translator); }
protected virtual void Dispose(bool disposing) { if (disposing) { if (_enumerator != null) { _enumerator.Dispose(); } } _enumerator = null; }
public IEnumerator <TEntity> GetEnumerator() { ObjectEnumerator <TEntity> e = _enumerator; if (e == null) { throw Error.CannotEnumerateMoreThanOnce(); } _enumerator = null; return(e); }