/// <summary> /// Initializes a new instance of the <see cref="Database"/> class. /// </summary> /// <param name="connectionStringSettings"> /// The mapping store connection string settings. /// </param> /// <exception cref="ArgumentNullException"> /// <paramref name="connectionStringSettings"/> is null /// </exception> public Database(ConnectionStringSettings connectionStringSettings) { if (connectionStringSettings == null) { throw new ArgumentNullException("connectionStringSettings"); } this._connectionStringSettings = connectionStringSettings; this._providerName = connectionStringSettings.ProviderName; try { this._factory = DbProviderFactories.GetFactory(this._providerName); } catch (Exception e) { _log.ErrorFormat("Error while trying to load provider : {0}", this._providerName); _log.Error(this._providerName, e); throw; } this._schemaNormalizer = this.GetQueryNormalizer(); this._databaseInternal = new DatabaseNonTransactional(connectionStringSettings, this._factory); }
/// <summary> /// Initializes a new instance of the <see cref="Database"/> class. /// Initializes a new instance of the <see cref="T:System.Object"/> class. /// </summary> /// <param name="database"> /// The database. /// </param> /// <param name="transaction"> /// The transaction. /// </param> public Database(Database database, DbTransaction transaction) { if (database == null) { throw new ArgumentNullException("database"); } if (transaction == null) { throw new ArgumentNullException("transaction"); } // copy stuff from specified database this._providerName = database._providerName; this._connectionStringSettings = database._connectionStringSettings; this._factory = database._factory; this._schemaNormalizer = this.GetQueryNormalizer(); this._parameterMarkerFormat = database._parameterMarkerFormat; this._databaseInternal = new DatabaseTransactional(transaction); }