protected internal abstract QueryOptions GetTyped(QueryOptions options, out bool needClone);
protected internal abstract TransactionContext GetTransactionContext(DbTransaction transaction, QueryOptions queryOptions, BulkOptions bulkOptions, ReadOptions readOptions);
protected internal abstract ConnectionStringContext GetConnectionStringContext(string connectionString, QueryOptions queryOptions, BulkOptions bulkOptions, ReadOptions readOptions);
protected internal abstract ConnectionContext GetConnectionContext(DbConnection connection, QueryOptions queryOptions, BulkOptions bulkOptions, ReadOptions readOptions);
protected internal ScopedContext(ContextProvider contextProvider, QueryOptions queryOptions, BulkOptions bulkOptions, ReadOptions readOptions) : base(contextProvider, queryOptions, bulkOptions, readOptions) { }