public async Task InitializeAsync() { var db = _db.Database; //if (await db.EnsureDeletedAsync()) //{ // //База данных существовала и была успешно удалена //} //await db.EnsureCreatedAsync(); await db.MigrateAsync(); // Автоматическое создание и миграция базы до последней версии await IdentityInitializeAsync(); if (await _db.Products.AnyAsync()) { return; } using (var transaction = await db.BeginTransactionAsync()) { await _db.Sections.AddRangeAsync(TestData.Sections); await db.ExecuteSqlCommandAsync("SET IDENTITY_INSERT [dbo].[Sections] ON"); await _db.SaveChangesAsync(); await db.ExecuteSqlCommandAsync("SET IDENTITY_INSERT [dbo].[Sections] OFF"); transaction.Commit(); } using (var transaction = await db.BeginTransactionAsync()) { await _db.Brands.AddRangeAsync(TestData.Brands); await db.ExecuteSqlCommandAsync("SET IDENTITY_INSERT [dbo].[Brands] ON"); await _db.SaveChangesAsync(); await db.ExecuteSqlCommandAsync("SET IDENTITY_INSERT [dbo].[Brands] OFF"); transaction.Commit(); } using (var transaction = await db.BeginTransactionAsync()) { await _db.Products.AddRangeAsync(TestData.Products); await db.ExecuteSqlCommandAsync("SET IDENTITY_INSERT [dbo].[Products] ON"); await _db.SaveChangesAsync(); await db.ExecuteSqlCommandAsync("SET IDENTITY_INSERT [dbo].[Products] OFF"); transaction.Commit(); } }
public async Task InitializeAsync() { await _db.Database.MigrateAsync(); //Инициализация пользователей await InitializeIdentityAsync(); //Если база данных не пустая значит считаем ее инициализированной и выходим if (await _db.Products.AnyAsync()) { return; } using (var transaction = _db.Database.BeginTransaction()) { await _db.Sections.AddRangeAsync(TestData.Sections); //Допускаем вставку идентификаторов столбца в таблицу, затем отключаем этот параметр await _db.Database.ExecuteSqlCommandAsync("SET IDENTITY_INSERT [dbo].[Sections] ON"); await _db.SaveChangesAsync(); await _db.Database.ExecuteSqlCommandAsync("SET IDENTITY_INSERT [dbo].[Sections] OFF"); transaction.Commit(); } using (var transaction = _db.Database.BeginTransaction()) { await _db.Brands.AddRangeAsync(TestData.Brands); //Допускаем вставку идентификаторов столбца в таблицу, затем отключаем этот параметр await _db.Database.ExecuteSqlCommandAsync("SET IDENTITY_INSERT [dbo].[Brands] ON"); await _db.SaveChangesAsync(); await _db.Database.ExecuteSqlCommandAsync("SET IDENTITY_INSERT [dbo].[Brands] OFF"); transaction.Commit(); } using (var transaction = _db.Database.BeginTransaction()) { await _db.Products.AddRangeAsync(TestData.Products); //Допускаем вставку идентификаторов столбца в таблицу, затем отключаем этот параметр await _db.Database.ExecuteSqlCommandAsync("SET IDENTITY_INSERT [dbo].[Products] ON"); await _db.SaveChangesAsync(); await _db.Database.ExecuteSqlCommandAsync("SET IDENTITY_INSERT [dbo].[Products] OFF"); transaction.Commit(); } }
public async Task InitializeAsync() { //_db.Database.EnsureCreated(); await _db.Database.MigrateAsync(); await InitializeIdentityAsync(); if (await _db.Products.AnyAsync()) { return; } using (var transaction = _db.Database.BeginTransaction()) { await _db.Sections.AddRangeAsync(TestData.Sections); await _db.Database.ExecuteSqlCommandAsync("SET IDENTITY_INSERT [dbo].[Sections] ON"); await _db.SaveChangesAsync(); await _db.Database.ExecuteSqlCommandAsync("SET IDENTITY_INSERT [dbo].[Sections] OFF"); transaction.Commit(); } using (var transaction = _db.Database.BeginTransaction()) { await _db.Brands.AddRangeAsync(TestData.Brands); await _db.Database.ExecuteSqlCommandAsync("SET IDENTITY_INSERT [dbo].[Brands] ON"); await _db.SaveChangesAsync(); await _db.Database.ExecuteSqlCommandAsync("SET IDENTITY_INSERT [dbo].[Brands] OFF"); transaction.Commit(); } using (var transaction = _db.Database.BeginTransaction()) { await _db.Products.AddRangeAsync(TestData.Products); await _db.Database.ExecuteSqlCommandAsync("SET IDENTITY_INSERT [dbo].[Products] ON"); await _db.SaveChangesAsync(); await _db.Database.ExecuteSqlCommandAsync("SET IDENTITY_INSERT [dbo].[Products] OFF"); transaction.Commit(); } }
public async Task InitializeAsync() { await _db.Database.MigrateAsync(); await InitRoleAsync(); if (await _db.Microcontrollers.AnyAsync()) { return; } using (var transaction = await _db.Database.BeginTransactionAsync()) { await _db.Categories.AddRangeAsync(TestData.Categories); await _db.Database.ExecuteSqlCommandAsync("SET IDENTITY_INSERT [dbo].[Categories] ON"); await _db.SaveChangesAsync(); await _db.Database.ExecuteSqlCommandAsync("SET IDENTITY_INSERT [dbo].[Categories] OFF"); transaction.Commit(); } using (var transaction = await _db.Database.BeginTransactionAsync()) { await _db.Microcontrollers.AddRangeAsync(TestData.Microcontrollers); await _db.Database.ExecuteSqlCommandAsync("SET IDENTITY_INSERT [dbo].[Microcontrollers] ON"); await _db.SaveChangesAsync(); await _db.Database.ExecuteSqlCommandAsync("SET IDENTITY_INSERT [dbo].[Microcontrollers] OFF"); transaction.Commit(); } using (var transaction = await _db.Database.BeginTransactionAsync()) { await _db.MCDescriptions.AddRangeAsync(TestData.MCDescriptions); await _db.Database.ExecuteSqlCommandAsync("SET IDENTITY_INSERT [dbo].[MCDescriptions] ON"); await _db.SaveChangesAsync(); await _db.Database.ExecuteSqlCommandAsync("SET IDENTITY_INSERT [dbo].[MCDescriptions] OFF"); transaction.Commit(); } }
private async Task InitializeProductsAsync() { if (await _db.Products.AnyAsync()) { return; } var db = _db.Database; await db.MigrateAsync().ConfigureAwait(false); using (var transaction = await db.BeginTransactionAsync().ConfigureAwait(false)) { await _db.Sections.AddRangeAsync(TestData.Sections).ConfigureAwait(false); await db.ExecuteSqlRawAsync("SET IDENTITY_INSERT [dbo].[Sections] ON"); await _db.SaveChangesAsync().ConfigureAwait(false); await db.ExecuteSqlRawAsync("SET IDENTITY_INSERT [dbo].[Sections] OFF"); await transaction.CommitAsync().ConfigureAwait(false); } using (var transaction = await db.BeginTransactionAsync().ConfigureAwait(false)) { await _db.Brands.AddRangeAsync(TestData.Brands).ConfigureAwait(false); await db.ExecuteSqlRawAsync("SET IDENTITY_INSERT [dbo].[Brands] ON"); await _db.SaveChangesAsync().ConfigureAwait(false); await db.ExecuteSqlRawAsync("SET IDENTITY_INSERT [dbo].[Brands] OFF"); await transaction.CommitAsync().ConfigureAwait(false); } using (var transaction = await db.BeginTransactionAsync().ConfigureAwait(false)) { await _db.Products.AddRangeAsync(TestData.Products).ConfigureAwait(false); await db.ExecuteSqlRawAsync("SET IDENTITY_INSERT [dbo].[Products] ON"); await _db.SaveChangesAsync().ConfigureAwait(false); await db.ExecuteSqlRawAsync("SET IDENTITY_INSERT [dbo].[Products] OFF"); await transaction.CommitAsync().ConfigureAwait(false); } }