// Methods internal ObjectReader(ObjectReaderSession <TDataReader> session, NamedColumn[] namedColumns, object[] globals, object[] arguments, int nLocals, bool disposeSession, Func <ObjectMaterializer <TDataReader>, TObject> fnMaterialize) : base(session, namedColumns, globals, arguments, nLocals) { this.disposeSession = disposeSession; this.fnMaterialize = fnMaterialize; }
public IObjectReader Create(DbDataReader dataReader, bool disposeDataReader, IReaderProvider provider, object[] parentArgs, object[] userArgs, ICompiledSubQuery[] subQueries) { var session = new ObjectReaderSession <TDataReader>((TDataReader)dataReader, provider, parentArgs, userArgs, subQueries); return(session.CreateReader(fnMaterialize, namedColumns, globals, nLocals, disposeDataReader)); }
// Methods protected ObjectReaderBase(ObjectReaderSession <TDataReader> session, NamedColumn[] namedColumns, object[] globals, object[] arguments, int nLocals) { this.session = session; services = session.Provider.Services; DataReader = session.DataReader; Globals = globals; Arguments = arguments; if (nLocals > 0) { Locals = new object[nLocals]; } if (this.session.IsBuffered) { Buffer(); } Ordinals = GetColumnOrdinals(namedColumns); }