private static void ClearDatabase(TransaviaDbContext dbContext) { dbContext.Database.ExecuteSqlCommand(@" -- disable all constraints EXEC sp_MSForEachTable 'ALTER TABLE ? NOCHECK CONSTRAINT all' -- delete data in all tables EXEC sp_MSForEachTable 'DELETE FROM ?' -- enable all constraints EXEC sp_MSForEachTable 'ALTER TABLE ? WITH CHECK CHECK CONSTRAINT all'"); }
static void Main(string[] args) { Console.WriteLine("Starting database seeding"); Arguments.Populate(); var optionsBuilder = new DbContextOptionsBuilder <TransaviaDbContext>(); optionsBuilder.UseSqlServer(ConnectionString); using (var feed = new HttpFeedDataProvider <AirportData>(Feed, JsonConvert.DeserializeObject <List <AirportData> >)) using (var dbContext = new TransaviaDbContext(optionsBuilder.Options)) { dbContext.Database.EnsureCreated(); ClearDatabase(dbContext); var seeder = new AirportsSeeder(dbContext, feed); seeder.SeedAsync(x => x.continent == "EU", CancellationToken.None).Wait(); } Console.WriteLine("Done"); }
public AirportsSeeder(TransaviaDbContext ctx, HttpFeedDataProvider <AirportData> airportsProvider) { _ctx = ctx; _airportsProvider = airportsProvider; }
public AirportsRepository(TransaviaDbContext ctx, IEventDispatcher eventDispatcher) : base(ctx, eventDispatcher) { }
public CountriesRepository(TransaviaDbContext ctx, IEventDispatcher eventDispatcher) : base(ctx, eventDispatcher) { }
protected RepositoryBase(TransaviaDbContext ctx, IEventDispatcher eventDispatcher) { _ctx = ctx; _eventDispatcher = eventDispatcher; }