» » » » Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю

Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю

На нашем литературном портале можно бесплатно читать книгу Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю, Троелсен Эндрю . Жанр: Базы данных. Онлайн библиотека дает возможность прочитать весь текст и даже без регистрации и СМС подтверждения на нашем литературном портале litmir.org.
Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю
Название: Язык программирования C#9 и платформа .NET5
Дата добавления: 22 август 2024
Количество просмотров: 227
Читать онлайн

Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних просмотр данного контента СТРОГО ЗАПРЕЩЕН! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту readbookfedya@gmail.com для удаления материала

Язык программирования C#9 и платформа .NET5 читать книгу онлайн

Язык программирования C#9 и платформа .NET5 - читать бесплатно онлайн , автор Троелсен Эндрю

В 10-м издании книги описаны новейшие возможности языка C# 9 и .NET 5 вместе с подробным "закулисным" обсуждением, призванным расширить навыки критического мышления разработчиков, когда речь идет об их ремесле.

Книга охватывает ASP.NET Core, Entity Framework Core и многое другое наряду с последними обновлениями унифицированной платформы .NET, начиная с улучшений показателей производительности настольных приложений Windows в .NET 5 и обновления инструментария XAML и заканчивая расширенным рассмотрением файлов данных и способов обработки данных.

Все примеры кода были переписаны с учетом возможностей последнего выпуска C# 9.

Перейти на страницу:

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() фасадного экземпляра базы данных должен применяться осторожно, чтобы избежать потенциальных атак внедрением в SQL. Теперь, когда вы можете удалять и создавать базу данных и очищать данные, пора заняться методами, которые будут добавлять выборочные данные.

Инициализация базы данных

Вам предстоит построить свою систему заполнения начальными данными, которую можно запускать по требованию. Первым шагом будет создание выборочных данных и добавление в класс SampleDatalnitializer методов для загрузки выборочных данных в базу.

Создание выборочных данных

Добавьте в каталог Initialization новый файл по имени SampleData.cs. Сделайте его открытым и статическим и поместите в него следующие операторы using:

using System.Collections.Generic;

using AutoLot.Dal.Entities;

(window.adrunTag = window.adrunTag || []).push({v: 1, el: 'adrun-4-390', c: 4, b: 390})

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"},

Перейти на страницу:
Комментариев (0)