760.77K

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<>)
English     Русский Правила