示例#1
0
        /// <summary>
        /// Gets the SqlServer NorthWind reader.
        /// </summary>
        /// <param name="additionalParameters"></param>
        /// <returns></returns>
        public static DatabaseReader GetNorthwindReader(IAdditionalProperties additionalParameters = null)
        {
            const string providername     = "System.Data.SqlClient";
            var          connectionString = ConnectionStrings.Northwind;

            ProviderChecker.Check(providername, connectionString);

            var northwindReader = new DatabaseReader(connectionString, providername, 15, additionalParameters);

            northwindReader.Owner = "dbo";
            return(northwindReader);
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="DatabaseReader"/> class using an existing <see cref="DatabaseSchema"/>.
        /// </summary>
        /// <param name="databaseSchema">The database schema. Can be a subclassed version.</param>
        /// <param name="commandTimeout"></param>
        /// <param name="additionalParameters"></param>
        public DatabaseReader(DatabaseSchema databaseSchema, int commandTimeout, IAdditionalProperties additionalParameters = null)
        {
            if (databaseSchema == null)
            {
                throw new ArgumentNullException("databaseSchema");
            }
            if (databaseSchema.ConnectionString == null)
            {
                throw new ArgumentException("No connectionString");
            }

            _schemaParameters = new SchemaParameters(databaseSchema.ConnectionString, databaseSchema.Provider);
            _schemaParameters.DatabaseSchema = databaseSchema;
            _schemaParameters.Owner          = databaseSchema.Owner;
            _readerAdapter = ReaderAdapterFactory.Create(_schemaParameters, commandTimeout);
            _readerAdapter.AdditionalParameters = additionalParameters;
            _db = databaseSchema;
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="DatabaseReader"/> class. For Oracle, use this overload.
 /// </summary>
 /// <param name="connectionString">The connection string.</param>
 /// <param name="providerName">Name of the provider.</param>
 /// <param name="owner">The schema owner.</param>
 /// <param name="commandTimeout"></param>
 /// <param name="additionalParameters">Names of database-specific propertoes to be read</param>
 public DatabaseReader(string connectionString, string providerName, string owner, int commandTimeout, IAdditionalProperties additionalParameters = null)
     : this(new DatabaseSchema(connectionString, providerName) { Owner = owner }, commandTimeout, additionalParameters)
 {
 }
        /// <summary>
        /// Initializes a new instance of the <see cref="DatabaseReader"/> class for one of the standard providers.
        /// </summary>
        /// <param name="connectionString">The connection string.</param>
        /// <param name="sqlType">Type of the SQL.</param>
        /// <param name="additionalParameters"></param>
        public DatabaseReader(string connectionString, SqlType sqlType, int commandTimeout, IAdditionalProperties additionalParameters = null)
        {
            if (connectionString == null)
            {
                throw new ArgumentNullException("connectionString");
            }
            _schemaParameters = new SchemaParameters(connectionString, sqlType);
            _readerAdapter    = ReaderAdapterFactory.Create(_schemaParameters, commandTimeout);
            _readerAdapter.AdditionalParameters = additionalParameters;

            //_schemaReader = SchemaReaderFactory.Create(connectionString, sqlType);
            _db = new DatabaseSchema(connectionString, _schemaParameters.ProviderName);
            _schemaParameters.DatabaseSchema = _db;
        }