private static void Main(string[] args) { if (args.Length > 0) { var dataOptions = new OptionSet { { "environment=", s => _environmentName = s } }; dataOptions.Parse(args); } var configurationBuilder = new ConfigurationBuilder() .SetBasePath(_baseDirectory ?? Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json", true, true) .AddJsonFile($"appsettings.{_environmentName}.json", true) .AddJsonFile("appsettings.local.json", true); IConfigurationRoot configuration = configurationBuilder.Build(); var builder = new DbContextOptionsBuilder() .UseNpgsql(configuration["DbConnection"], x => x.MigrationsAssembly("DbMigrator")); var modelStore = new ModelStore(); var context = new CustomEfDbContext(modelStore, builder.Options); var provider = new EfDataProvider(context); var generator = new DataGenerator(provider, _environmentName); generator.GenAsync().GetAwaiter().GetResult(); }
public IRepository SetDataProvider() { switch (_dataProviderConfigurator.Reciever) { case DataReciever.AdoNet: return(new SqlDataProvider(_dataProviderConfigurator.ConnectionData)); case DataReciever.Linq: return(new LinqDataProvider(_dataProviderConfigurator.ConnectionData)); case DataReciever.EF: var databaseConnector = new EfDataProvider(_dataProviderConfigurator.ConnectionData); databaseConnector.PrepareIfNotPresent(); return(databaseConnector); default: throw new Exception("Cannot read server parameters"); } }