コード例 #1
0
        public async Task SeedAsync(MNoteDbContext 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(ApplicationDbContextSeeder));

            var seeders = new List <ISeeder>
            {
                new RolesSeeder(),
                new SettingsSeeder(),
            };

            foreach (var seeder in seeders)
            {
                await seeder.SeedAsync(dbContext, serviceProvider);

                await dbContext.SaveChangesAsync();

                logger.LogInformation($"Seeder {seeder.GetType().Name} done.");
            }
        }
コード例 #2
0
        public async Task SeedAsync(MNoteDbContext dbContext, IServiceProvider serviceProvider)
        {
            if (dbContext.Settings.Any())
            {
                return;
            }

            await dbContext.Settings.AddAsync(new Setting { Name = "Setting1", Value = "value1" });
        }
コード例 #3
0
        public async Task GetCountShouldReturnCorrectNumberUsingDbContext()
        {
            var options = new DbContextOptionsBuilder <MNoteDbContext>()
                          .UseInMemoryDatabase(databaseName: "SettingsTestDb").Options;
            var dbContext = new MNoteDbContext(options);

            dbContext.Settings.Add(new Setting());
            dbContext.Settings.Add(new Setting());
            dbContext.Settings.Add(new Setting());
            await dbContext.SaveChangesAsync();

            var repository = new EfDeletableEntityRepository <Setting>(dbContext);
            var service    = new SettingsService(repository);

            Assert.Equal(3, service.GetCount());
        }
コード例 #4
0
 public UsersService(UserManager <ApplicationUser> userManager, MNoteDbContext db)
 {
     this.userManager = userManager;
     this.db          = db;
 }
コード例 #5
0
 public NotebooksService(MNoteDbContext db, IUsersService usersService)
 {
     this.db           = db;
     this.usersService = usersService;
 }
コード例 #6
0
 public EfRepository(MNoteDbContext context)
 {
     this.Context = context ?? throw new ArgumentNullException(nameof(context));
     this.DbSet   = this.Context.Set <TEntity>();
 }
コード例 #7
0
 public EfDeletableEntityRepository(MNoteDbContext context)
     : base(context)
 {
 }
コード例 #8
0
ファイル: RolesSeeder.cs プロジェクト: todorovmartin/MNote
        public async Task SeedAsync(MNoteDbContext dbContext, IServiceProvider serviceProvider)
        {
            var roleManager = serviceProvider.GetRequiredService <RoleManager <ApplicationRole> >();

            await SeedRoleAsync(roleManager, GlobalConstants.AdministratorRoleName);
        }