Статья опубликована в рамках: LXIV Международной научно-практической конференции «Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ» (Россия, г. Новосибирск, 12 апреля 2018 г.)
Наука: Информационные технологии
Скачать книгу(-и): Сборник статей конференции
дипломов
ИНТЕГРАЦИЯ ВЕБ-ПРИЛОЖЕНИЯ ASP.NET MVC C БАЗОЙ ДАННЫХ MYSQL
Веб-приложения — клиент-серверное приложение, в котором клиент взаимодействует с сервером при помощи браузера, а за сервер отвечает — веб-сервер. Логика веб-приложения распределена между сервером и клиентом, хранение данных осуществляется, преимущественно, на сервере, обмен информацией происходит по сети. Существенное преимущество web-приложения, что его работа не зависит от операционной системы. Нет необходимости создавать приложение для разных операционных систем.
На примере создания веб-приложения перечня товаров будут разобраны шаги интеграции приложения и базы данных. Для интеграции приложения ASP.NET MVC Framework и базы данных MySQL мы будем использовать подход Code-First. Данный метод очень популярен, потому что нет необходимости определять сопоставления в EDMX. Нет автоматического кода, который трудно изменить. Не требуется беспокоится о базе данных. БД – это просто хранилище без логики. Entity Framework будет обрабатывать создание.
Основу функциональности Entity Framework составляют классы, находящиеся в пространстве имен System.Data.Entity. Из этого пространства можно выделить следующие классы:
- DbContext – определяет контекст данных, используемы для взаимодействия с базой данных.
- DbModelBuilder – cсопоставляет классы на языке С# с сущностями в базе данных.
- DbSet<TEntity> - представляет набор сущностей, хранящихся в базе данных.
В приложении, которое работает с базой данных через Entity Framework, необходимо создать контекст данных для связи с БД (класс производный от DbContext) и набор данных DbSet, через который приложение будет взаимодействовать с таблицами из БД. В начале создается класс модели данных. (Рис.1)
Рисунок 1. Модель данных
Модель включает в себя логику постоянства для сохранения и извлечения данных из постоянного хранилища. Необходимо соблюдать определенный уровень разделения между сущностями модели данных и логикой сохранения и извлечения, что достигается с применением шаблона хранилища. Для этого создается интерфейс. (Рис.2)
Рисунок 2. Интерфейс модели
Данный интерфейс использует интерфейс IEnumerable<T>, что позволяет вызывающему коду получать последовательность объектов, не сообщая о том, как или где хранятся, или извлекаются данные.
Чтобы связать модель с базой данных, понадобится создать класс, производный от System.Data.Entity.DbContext и включающий свойства для каждой таблицы в базе данных, с которой необходимо будет работать. Для этого создается класс-контекст с названием EFDbContext. Данный класс производный от System.Data.Entity.DbContext. Этот класс автоматически определит свойства для каждой из таблиц базы данных, с которой необходимо работать. Параметр DbSet указывает на тип модели, который структура Entity Framework должна использовать для представления строк в этой таблице, а имя свойства на таблицу. (Рис.3)
Рисунок 3. Класс-контекст
Необходимо указать Entity Framework, каким образом подключаться к базе данных. Для подключения базы данных необходимо создать саму базу данных. В данном примере создана локальная база данных (EFDbContext). В файл web.config необходимо добавить строки подключения к базе данных. Этот файл содержит конфигурационную информацию для ASP.NET Framework. (Рис.4)
Рисунок 4. Строка подключения к базе данных
Необходимо добавить класс хранилища, который действует в качестве шлюза между логикой приложения и базой данных. (рис.5)
Рисунок 5. Класс хранилища
Данный класс представляет необходимое хранилище. Он реализует интерфейс модели данных и использует экземпляр контекста для извлечения данных из базы данных посредством Entity Framework.
После запуска приложения Entity Framework создаст таблицу в подключенной базе данных. В данном приложении таблица называется “Products”. Для того что проверить работу приложения требуется заполнить базу данных. (Рис.6).
Рисунок 6. Данные таблицы “Products” базы данных “EFDbContext”
Реализация файла представления с использованием механизма визуализации MVC Framework Razor. (Рис.7)
Рисунок 7. Содержимое файла преставления
В результате выполнения приложения, приложение подключается к базе данных, создает в ней необходимые таблицы, затем выводит всю информацию из таблицы базы данных. (Рис.8)
Рисунок 8. Результат выполнения приложения
Список литературы:
- Теоретический материал по ASP.NET MVC [Электронный ресурс]. - URL: https://professorweb.ru/my/ASP_NET/mvc
- Введение в EntityFramework [Электронный ресурс]. - URL: https://metanit.com/sharp/entityframework/1.1.php
- Adam Freeman. Pro ASP.NET MVC 5: учебное пособие.
дипломов
Оставить комментарий