Найти в Дзене
IT - C#

Немного об Entity Framework - как создать базу данных PostgreSQL и добавить в нее Данные

Entity Framework C# Категорически приветсвую! В современных реалиях Программы так или иначе связаны с базами данных. Взять, к примеру, регистрацию пользователя. Сегодня поговорим на тему БД, а именно - C: Entity Framework. Как же его пощупать на примерах? Сегодня мы этим и займемся: попробуем создать БД PostgreSql, подключимся к ней, посмотрим, как добавить туда данные для хранения, и переберем их в консольном приложении C#. Немного теории Entity Framework - технология отображения данных на реальных объектах (ORM - Object-relational Mapping). Это значит, что Framework позволяет нам работать с данными как с Объектами. Технология работает поверх .Net, поэтому ее можно будет использовать на платформах: консольные приложения, Windows Forms, Wpf, Asp. Net Core и др. В современном Entity Framework существует 2 способа работы с БД: 1) Code-first. 2) DataBase-fist. 1-ый способ позволяет создать таблицу в БД на основе определенного класса. Это Значит, что если у нас есть класс Person со свойств

Entity Framework C#

Категорически приветсвую! В современных реалиях Программы так или иначе связаны с базами данных. Взять, к примеру, регистрацию пользователя. Сегодня поговорим на тему БД, а именно - C: Entity Framework.

Как же его пощупать на примерах? Сегодня мы этим и займемся: попробуем создать БД PostgreSql, подключимся к ней, посмотрим, как добавить туда данные для хранения, и переберем их в консольном приложении C#.

Немного теории

Entity Framework - технология отображения данных на реальных объектах (ORM - Object-relational Mapping). Это значит, что Framework позволяет нам работать с данными как с Объектами. Технология работает поверх .Net, поэтому ее можно будет использовать на платформах: консольные приложения, Windows Forms, Wpf, Asp. Net Core и др.

В современном Entity Framework существует 2 способа работы с БД:

1) Code-first.

2) DataBase-fist.

1-ый способ позволяет создать таблицу в БД на основе определенного класса. Это Значит, что если у нас есть класс Person со свойствами ID, Name, City, Age, то Entity Framework создаст соответствующую таблицу с этими данными. Причем таблица будет иметь такое же имя, как и класс, но на конце будет буква S, в нашей случае - Persons, а свойство Id будет иметь статус Первичного ключа.

Пример класса
Пример класса

Пример созданной таблицы на основе класса Person
Пример созданной таблицы на основе класса Person

2-ой способ наоборот же позволяет из готовой БД, на основе готовых таблиц создать готовые классы.

Для начала необходимо создать проект, в нашем случае это будет консольное приложение. Выбираем Консольное приложение Майкрософт и идем дальше

Консольное приложение
Консольное приложение

По желанию можно указать другое имя проекта.

-4

После этого шага выбираем новейшую версию .NET в моем случае .NET 7

-5

После этого у нас создается проект в котором нам необходимо добавить 2 класса. Первый класс создания по его структуре таблицы, в нашем случае это класс - Person. 2-ой класс для работы с самой базой данных, его назовоем "Context".

Добавление класса
Добавление класса

Наш класс Называется Person потому что он описывает человека. Наделим наш класс свойствами присущие человеку. 

Class Person
Class Person

Не надолго забудем про второй класс и займемся установкой пакетов которые необходимы для работы Entity framwork. Зайдем в nuget пакеты и найдем их (ПКМ по решению - управление nuget пакетами)

Nuget пакеты
Nuget пакеты

После этого переходим во вкладку "Обзор" и ищем два пакета - Microsoft.EntityFrameworkCore и Npgsql.EntityFrameworkCore.PostgreSQL в нашем примере PostgreSQL, но есть и другие например sqlLite. Для подключения к БД postgreSQL нужно поднять локальный сервер для этого необходимо установить СУБД например - pgAdmin ( https://www.pgadmin.org/download/pgadmin-4-windows/ ) После установки открываем и видим картину.

СУБД
СУБД

По желанию можно поменять язык на русский в настройках (Настроить pg-Admin)