public async Task SeedAsync(CookingHubDbContext dbContext, IServiceProvider serviceProvider) { var roleManager = serviceProvider.GetRequiredService <RoleManager <ApplicationRole> >(); await SeedRoleAsync(roleManager, GlobalConstants.AdministratorRoleName); await SeedRoleAsync(roleManager, GlobalConstants.UserRoleName); }
public async Task SeedAsync(CookingHubDbContext dbContext, IServiceProvider serviceProvider) { if (dbContext == null) { throw new ArgumentNullException(nameof(dbContext)); } if (serviceProvider == null) { throw new ArgumentNullException(nameof(serviceProvider)); } var logger = serviceProvider.GetService <ILoggerFactory>().CreateLogger(typeof(CookingHubDbContextSeeder)); var seeders = new List <ISeeder> { new RolesSeeder(), }; foreach (var seeder in seeders) { await seeder.SeedAsync(dbContext, serviceProvider); await dbContext.SaveChangesAsync(); logger.LogInformation($"Seeder {seeder.GetType().Name} done."); } }
private void InitializeDatabaseAndRepositories() { this.connection = new SqliteConnection("DataSource=:memory:"); this.connection.Open(); var options = new DbContextOptionsBuilder <CookingHubDbContext>().UseSqlite(this.connection); var dbContext = new CookingHubDbContext(options.Options); dbContext.Database.EnsureCreated(); this.cookingHubUsersRepository = new EfDeletableEntityRepository <CookingHubUser>(dbContext); }
public EfDeletableEntityRepository(CookingHubDbContext context) : base(context) { }
public EfRepository(CookingHubDbContext context) { this.Context = context ?? throw new ArgumentNullException(nameof(context)); this.DbSet = this.Context.Set <TEntity>(); }