Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю
На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн Троелсен Эндрю, "Язык программирования C#9 и платформа .NET5" бесплатно, без регистрации.
public static void DropAndCreateDatabase(ApplicationDbContext context)
{
context.Database.EnsureDeleted();
context.Database.Migrate();
}
Создайте еще один метод по имени
ClearData()
Model
DbContext
DELETE
ExecuteSqlRaw()
Database
DbContext
internal static void ClearData(ApplicationDbContext context)
{
var entities = new[]
{
typeof(Order).FullName,
typeof(Customer).FullName,
typeof(Car).FullName,
typeof(Make).FullName,
typeof(CreditRisk).FullName
};
foreach (var entityName in entities)
{
var entity = context.Model.FindEntityType(entityName);
var tableName = entity.GetTableName();
var schemaName = entity.GetSchema();
context.Database.ExecuteSqlRaw($"DELETE FROM {schemaName}.{tableName}");
context.Database.ExecuteSqlRaw($"DBCC CHECKIDENT ("{schemaName}.
{tableName}",
RESEED, 1);");
}
}
На заметку! Метод
ExecuteSqlRaw()
Инициализация базы данных
Вам предстоит построить свою систему заполнения начальными данными, которую можно запускать по требованию. Первым шагом будет создание выборочных данных и добавление в класс SampleDatalnitializer методов для загрузки выборочных данных в базу.
Создание выборочных данных
Добавьте в каталог
Initialization
SampleData.cs
using
using System.Collections.Generic;
using AutoLot.Dal.Entities;
using AutoLot.Dal.Entities.Owned;
namespace AutoLot.Dal.Initialization
{
public static class SampleData
{
}
}
Класс
SampleData
{
new() {Id = 1, PersonalInformation = new() {FirstName = "Dave",
LastName = "Brenner"}},
new() {Id = 2, PersonalInformation = new() {FirstName = "Matt",
LastName = "Walton"}},
new() {Id = 3, PersonalInformation = new() {FirstName = "Steve",
LastName = "Hagen"}},
new() {Id = 4, PersonalInformation = new() {FirstName = "Pat",
LastName = "Walton"}},
new() {Id = 5, PersonalInformation = new() {FirstName = "Bad",
LastName = "Customer"}},
};
public static List<Make> Makes => new()
{
new() {Id = 1, Name = "VW"},
new() {Id = 2, Name = "Ford"},
new() {Id = 3, Name = "Saab"},
new() {Id = 4, Name = "Yugo"},
new() {Id = 5, Name = "BMW"},
new() {Id = 6, Name = "Pinto"},
};
public static List<Car> Inventory => new()
{
new() {Id = 1, MakeId = 1, Color = "Black", PetName = "Zippy"},
new() {Id = 2, MakeId = 2, Color = "Rust", PetName = "Rusty"},
new() {Id = 3, MakeId = 3, Color = "Black", PetName = "Mel"},
new() {Id = 4, MakeId = 4, Color = "Yellow", PetName = "Clunker"},
new() {Id = 5, MakeId = 5, Color = "Black", PetName = "Bimmer"},