/// <summary> /// Creates instance of database object. /// </summary> /// <param name="connectionString">Database connection string</param> /// <param name="options">Database generator options for this database</param> public Database(string connectionString, DatabaseGeneratorOptions options) : this(connectionString) { // Set entity works generator options. this.Options = options ?? throw new ArgumentNullException(nameof(options), "DatabaseGeneratorOptions can not be null."); // Set specific db provider factory. SetDbProvider(); // Set database name. SetDatabaseName(); // Set entity works generator specific provider. SetEwgProvider(); }
/// <summary> /// Creates specific entity works generator provider. /// </summary> public static EwgProviderFactory GetSpecificProvider(DatabaseGeneratorOptions options) { // Get specific entity works generator provider. if (EwgProviderFactories.TryGetValue( options.DbProviderAssembly, out EwgProviderFactory ewgProviderFactory)) { return(ewgProviderFactory); } // Throw exception. else { throw new EntityWorksGeneratorException(string.Format( "Current db provider does not have registred matching ew provider. " + "Please refer to documentation.")); } }