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

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

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

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

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

Команда update

Команда update принимает параметр с именем миграции и обычные параметры. Она имеет один дополнительный параметр --connection <подключение>, позволяющий использовать строку подключения, которая не была сконфигурирована заранее.

Если команда запускается без имени миграции, тогда она обновляет базу данных до самой последней миграции, при необходимости создавая саму базу. Если указано имя миграции, то база данных обновляется до этой миграции. Все предшествующие миграции, которые пока не применялись, также будут применены. Имена примененных миграций сохраняются в таблице __EFMigrationsHistory.

Если имя миграции имеет отметку времени, которая соответствует более раннему моменту, чем другие примененные миграции, тогда выполняется откат всех более поздних миграций. Когда в качестве имени миграции указывается 0, происходит откат всех миграций и база данных становится пустой (не считая таблицы __EFMigrationsHistory).

Команды для управления типами DbContext

Доступны четыре команды для управления типами DbContext. Три из них (list, info, script) работают с классами, производными от DbContext, в вашем проекте. Команда scaffold создает производный от DbContext класс и сущности из существующей базы данных. Все четыре команды описаны в табл. 22.16.

Для команд list и info доступны обычные параметры. Команда list выдает список классов, производных от DbContext, в целевом проекте. Команда info предоставляет детали об указанном производном от DbContext классе, в том числе строку подключения, имя поставщика и источник данных. Команда script генерирует сценарий SQL, который создает вашу базу данных на основе объектной модели, игнорируя любые имеющиеся миграции. Команда scaffold используется для анализа существующей базы данных и рассматривается в следующем разделе.

Команда scaffold

Команда scaffold создает из существующей базы данных классы C# (производные от DbContext и сущностные классы ), дополненные аннотациями данных (если требуется) и командами Fluent API. В табл. 22.17 описаны два обязательных параметра: строка подключения к базе данных и полностью заданный поставщик (например, Microsoft.EntityFrameworkCore.SqlServer).

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

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

В версии EF Core 5.0 команда scaffold стала работать гораздо надежнее. Как видите, на выбор предлагается довольно много вариантов. Если выбран вариант с аннотациями данных (-d), тогда EF Core будет применять аннотации данных там, где это возможно, и заполнять отличия с использованием Fluent API. Если вариант с -d не выбран, то вся конфигурация (отличающаяся от соглашений) кодируется с помощью Fluent API. Вы можете указывать пространство имен, схему и местоположение для генерируемых файлов с сущностными классами и классом, производным от DbContext. Если вы не хотите создавать шаблон для целой базы данных, тогда можете выбрать определенные схемы и таблицы. Параметр --no-onconfiguring позволяет исключить метод OnConfiguring() из шаблонного класса, а параметр --no-pluralize отключает средство перевода имен в множественное число. Упомянутое средство превращает имена сущностей в единственном числе (Car) в имена таблиц во множественном числе (Cars) при создании миграций и имена таблиц во множественном числе в имена сущностей в единственном числе при создании шаблона.

Резюме

В настоящей главе вы начали ознакомление с инфраструктурой Entity Framework Core. В ней были исследованы аспекты, лежащие в основе EF Core, выполнения запросов и отслеживания изменений. Вы узнали о придании формы своей модели, соглашениях EF Core, аннотациях данных и Fluent API, а также о том, как их применение влияет на проектное решение для базы данных. Наконец, вы научились пользоваться мощным интерфейсом командной строки EF Core и глобальными инструментами.

Наряду с тем, что в этой главе было предложено много теоретических сведений и мало кода, следующая глава содержит главным образом код и совсем немного теории. По завершении проработки материалов главы 23 в вашем распоряжении появится законченный уровень доступа к данным AutoLot.

Глава 23

Построение уровня доступа к данным с помощью Entity Framework Core

В предыдущей главе раскрывались детали и возможности инфраструктуры EFCore. Текущая глава сосредоточена на применении того, что вы узнали об инфраструктуре EF Core, для построения уровня доступа к данным AutoLot. В начале главы строятся шаблоны сущностей и производного от DbContext класса для базы данных из предыдущей главы. Затем используемый в проекте подход "сначала база данных" меняется на подход "сначала код", а сущности обновляются до своей финальной версии и применяются к базе данных с использованием миграций EF Core. Последним изменением, внесенным в базу данных, будет воссоздание хранимой процедуры GetPetName и создание нового представления базы данных (в комплекте с соответствующей моделью представления), что делается с помощью миграций.

Следующий шаг — формирование хранилищ, обеспечивающих изолированный доступ для создания, чтения, обновления и удаления (create, read, update, delete — CRUD) базы данных. Далее в целях тестирования к проекту будет добавлен код инициализации данных вместе с выборочными данными. Остаток главы посвящен испытаниям уровня доступа к данным AutoLot посредством автоматизированных интеграционных тестов.

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