public static async Task SeedAsync(ParkingDbContext parkingDbContext, int?retry = 0) { int retryForAvailability = retry.Value; try { // TODO: Only run this if using a real database // context.Database.Migrate(); if (!parkingDbContext.Parkings.Any()) { parkingDbContext.Parkings.AddRange(GetDefaultParkings()); await parkingDbContext.SaveChangesAsync(); } if (!parkingDbContext.Cars.Any()) { parkingDbContext.Cars.AddRange( GetDefaultCars()); await parkingDbContext.SaveChangesAsync(); } if (!parkingDbContext.Routes.Any()) { parkingDbContext.Routes.AddRange( GetDefaultRoute()); await parkingDbContext.SaveChangesAsync(); } } catch (Exception ex) { if (retryForAvailability < 10) { retryForAvailability++; await SeedAsync(parkingDbContext, retryForAvailability); } throw; } }
public EfRepository(ParkingDbContext dbContext) { _dbContext = dbContext; }
public RouteRepository(ParkingDbContext dbContext) : base(dbContext) { }