Similar presentations:
5 Подключение postgreSQL к проекту
1.
Подключение PostgreSQL к проекту2.
Установка необходимых библиотекУбедитесь, что ваш проект подходит для
установки необходимых библиотек
(проще всего работать с «Приложение
WPF (Майкрософт)»)
Версия .NET должна быть не меньше 8.0
3.
Установка необходимых библиотекMicrosoft.EntityFrameworkCore.Tools
Библиотека необходима, т.к. добавляет
команду «Scaffold-DbContext»,
необходимую для удобного подключения
к БД. Устанавливайте последнюю
доступную версию
Npgsql.EntityFrameworkCore.PostgreSQL
Библиотека позволяет Entity Framework
Core работать именно с PostgreSQL и
генерировать C#-классы на основе таблиц
БД. Если проект на .NET 8.0, то
необходимо установить версию 8.0.0
4.
Подключение БДОткройте Консоль диспетчера пакетов:
Вид -> Другие окна ->
Консоль диспетчера пакетов
5.
Подключение БДЧто необходимо ввести:
Команда Scaffold-DbContext просит сгенерировать классы C# на основе БД
Состоит из:
1. Строки подключения
2. Пакет, через который будет происходить общение программы с БД
3. Где будут храниться классы (Папка и название)
4. Как будет называться главный класс (Рекомендовано называть «[имя БД]Context».
Например, MyDataBaseContext, где MyDataBase – имя БД. Либо для упрощения названия
можно использовать «DBContext», но так не понятно, какая БД используется
6.
Подключение БДЧто необходимо ввести:
Строка подключения состоит из:
• Местоположения БД (по умолчанию localhost)
• Порта (по умолчанию 5432)
• Названия БД
• Пользователя (по умолчанию postgres)
• Пароля (в уч. кабинетах postgres)
• Использовать ли шифрование
Основную перечисленную информацию можно посмотреть в pgAdmin при подключении
к какой-либо рабочей области (кроме пароля)
7.
Подключение БДЧто необходимо ввести:
В общем виде строка подключения выглядит так:
"Host=localhost;Port=5432;Database=MyDataBase;Username=postgres;Password=postgres;SSL Mode=Disable"
Расположение
(Хост)
Порт
Имя БД
Пользователь
Пароль
Режим
шифрования
8.
Подключение БДЧто необходимо ввести:
В качестве пакета необходимо писать
Npgsql.EntityFrameworkCore.PostgreSQL
Рекомендуемое название папки Models
-OutputDir Models
9.
Подключение БДЧто необходимо ввести:
В конечном итоге запрос на создание классов на основе БД должен получиться таким:
Scaffold-DbContext "Host=localhost;Port=5432;Database=MyDataBase;Username=postgres;Password=postgres;SSL
Mode=Disable" Npgsql.EntityFrameworkCore.PostgreSQL -OutputDir Models -Context DBContext
В переводе на обычный язык запрос звучит так:
«Создай классы из БД, которая расположена в localhost на порту 5432, ее имя MyDataBase, пользователь postgres, а
пароль postgres, шифрование не используется. Для понимания языка БД используй
Npgsql.EntityFrameworkCore.PostgreSQL, классы будут в папке Models, а главный класс назови DBContext»
10.
Подключение БДПри успешном подключении к БД и создании классов диспетчер пакетов напишет
Build succeeded
11.
Подключение БДВ обозревателе решений можно увидеть новую папку, в
которой будет DBContext и все таблицы из БД
12.
Работа с БДЕсли БД и проект будут перемещены, то
поменяйте строку подключения в
DBContext
13.
Работа с БДСамое простое, что можно сделать для
проверки работоспособности – вывести
в сообщении первое значение любой
таблицы
Переменная класса DBContext позволит
обращаться к таблицам из БД
На примере db.Roles – это лист с данными таблицы
(можно применять все методы для класса List<>)