예제 #1
0
        /// <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();
        }
예제 #2
0
        /// <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."));
            }
        }