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 void Setup() { _httpFeedDataProvider = new HttpFeedDataProvider <AirportData>( "https://raw.githubusercontent.com/jbrooksuk/JSON-Airports/master/airports.json", JsonConvert.DeserializeObject <List <AirportData> >); }