Аннотация и ключевые слова
Аннотация (русский):
В статье рассматривается применение фреймворк ORM Entity Framework. Entity Framework избавляет разработчиков от написания большого кода доступа к данным. При использовании данного фреймворка создается слой абстракции, так называемая EDM-модель, определяющая правила отображения объектов на базу данных. Code First используется, когда база данных еще не создавалась. На рисунке 1 представлен подход Code First к созданию базы данных на основе класса контекста и классов, описывающих сущности, т.е. сначала необходимо создать приложение на C#, а затем Entity Framework из имеющегося кода создаст базу данных.

Ключевые слова:
Entity Framework, Code First, база данных, класс, контекст
Текст
Текст произведения (PDF): Читать Скачать

Entity Framework представляет собой объектно-ориентированную технологию от компании Microsoft для доступа к данным. Данная технология является ORM-инструментом (object-relational mapping - отображения данных на реальные объекты) и позволяет работать с базами данных, представляя собой более высокий уровень абстракции.

Центральной концепцией Entity Framework является понятие сущности. Сущность – некоторый набор данных, связанный с объектом.

Технология ускоряет разработку и реализует паттерн «Репозиторий», что позволяет создавать приложения, взаимодействующие с реляционными СУБД с помощью строго типизированных объектов .NET

Подход Code First — это подход к разработке программного обеспечения, в котором сначала создается код реализации системы, а затем на его основе автоматически генерируется соответствующая схема базы данных или контракт между компонентами. Entity Framework имеет возможность автоматически генерировать таблицы в базе данных по указанным в контексте подключения классам.

На рис. 1 представлен подход Code First к созданию базы данных на основе класса контекста и классов, описывающих сущности, т.е. сначала необходимо создать приложение на C#, а затем Entity Framework из имеющегося кода создаст базу данных.

Рисунок 1 Схема работы подхода Code First в Entity Framework

 

Библиотеку Entity Framework можно установить, используя диспетчер пакетов NuGet.

http://digital-flame.ru/wp-content/uploads/2018/09/44.jpg

Рисунок 2 – Entity Framework

 

Перед началом работы необходимо создать класс – контекст подключения к базе данных.

Рисунок 3 – Класс контекста базы данных DiplomDatabase.cs

 

http://digital-flame.ru/wp-content/uploads/2018/09/45.jpg

Рисунок 4 – Подключение библиотеки Entity Framework в проект

 

При первом обращении к контексту базы данных выполняется проверка на то, что указанная в строке подключения БД существует. Если она отсутствует, то происходит создание новой и добавление исходных данных (рисунок 5).

Рисунок 5 – Контекст базы данных с проверкой на существование в конструкторе класса

 

DiplomDatabase является наследником класса DbContext, который используется для взаимодействия с базой данных.

Каждый таблица описывается типом DbSet с указанием соответствующего ей класса. Entity Framework при создании базы данных анализирует структуру классов-сущностей, которые используются в программе, и создает соответствующие таблицы.

Например, в нашем случае класс User выглядит так (рисунок 6).

Рисунок 6 – Класс User

 

Атрибуты «Key» и «DatabaseGenerated» указывают на то, что данное свойство является первичным ключом с автоинкрементом.

Класс «Users» содержит свойства «Id», «Login» и «Password». Соответственно в таблице, которая будет создана при запуске программы, будет три столбца (рисунок 7).

Рисунок 7 – определение первичного ключа

 

Свойство Calcs позволяет установить отношение один ко многим с таблицей Calcs. Данные для справочного материала добавляются сразу при создании БД. Остальные таблицы заполняет пользователь во время работы с программой. Пример заполнения таблицы приведен на рисунке 8.

Рисунок 8 – Описание таблицы Materials

 

Класс Condensator описывает таблицу (рисунок 9), содержащую характеристики конденсаторов, которые могут быть использованы при построении схемы.

Рисунок 9 – Класс Condensator

 

Описание используемого материала проводников и контактных площадок представлено в классе Material.cs (рисунок 10).

Рисунок 10 – Класс Material.cs

 

Таблица базы данных, содержащая сведения о резисторах описана в классе Resistor.cs (рисунок 11).

Рисунок 11 – Класс Resistor.cs

 

Entity Framework Code First создаст базу данных, используя параметр заданный в классе DiplomDatabase.cs и переданный в конструктор класса DBContext. База данных создается в SQL Express, т.е. в локальной базе данных. Он автоматически создаст четыре таблицы Resistor, Material, Condensator, User. Для просмотра базы данных откройте «Обозреватель объектов SQL Server» и выберите свою базу.

Список литературы

1. Рихтер, Дж. CLR via C#. Программирование на платформе Microsoft .NET Framework 4.5 на языке C# / Дж. Рихтер. - СПб.: Питер, 2019. - 896 c.

2. Бедердинова, О. И. Программирование на языках высокого уровня : учеб. пособие / О.И. Бедердинова, Т.А. Минеева, Ю.А. Водовозова. – Москва : ИНФРА-М, 2019.– 159 с. - Текст: электронный. - URL: https://znanium.com/catalog/product/1044396. – Режим доступа: по подписке.

3. Хорев, П. Б. Объектно-ориентированное программирование с примерами на С# : учебное пособие / П.Б. Хорев. – Москва: ФОРУМ: ИНФРА-М, 2020. – 200 с. – (Высшее образование: Бакалавриат). - ISBN 978-5-00091-680-3. - Текст: электронный. - URL: https://znanium.com/catalog/product/1069921 – Режим доступа: по подписке.

4. Lerman, J., Miller, R. Programming Entity Framework: Code First/ J. Lerman, R. Miller; - O’Reilly Media, Inc, 2011 – 177 p.- ISBN: 978-1449312947

5. Полуэктов А.В., Макаренко Ф.В., Ягодкин А.С. Использование сторонних библиотек при написании программ для обработки статистических данных // Моделирование систем и процессов. – 2022. – Т. 15, № 2. – С. 33-41.

Войти или Создать
* Забыли пароль?