dir.by  
  Поиск  
Компьютер, программы
Entity Framework Core (EF Core) для работы с базой данных на C#
 Что такое Entity Framework Core? 
посмотрели 2950 раз
обновлено: 21 июля 2022
Entity Framework Core это объектно-ориентированная технология для работы с базой данных через C# классы.
C# класс в Entity Framework Core сопоставляется таблице в базе данных.

Технология ADO.NET позволяет создавать подключения к базе данных, выполнять Microsoft SQL команды для взаимодействия с базой данных.
То есть в ADO.NET мы оперируем таблицами, колонками, индексами, первичными и внешними ключами.

Entity Framework Core представляет собой более высокий уровень абстракции, который позволяет абстрагироваться от самой базы данных и работать с базой данных в виде C# классов (объектов)

Entity Framework Core предоставляет преимущества:
• вам не нужно знать деталей работы Базы данных SQL Server
• вам не нужно знать деталей синтаксиса языка SQL
Entity Framework Core берет на себя обязанности по преобразованию C# кода в SQL-инструкции.

Отличие Entity Framework Core(EF Core) и Entity Framework(EF5, EF6)
Entity Framework Core и Entity Framework по использованию почти тоже самое (в целом принцип работы у них совпадает).
• Внутри Entity Framework Core совсем другая реализация чем у Entity Framework.
Entity Framework Core это кроссплатформенный код который работает на: ОС Windows, на Linux и Mac OS X
Entity Framework работает только на ОС Windows

Концепция Entity Framework Core
Главным в концепции Entity Framework Core является понятие сущности (entity).
Сущность (entity) в Entity Framework Core это C# класс
Шаг 1 Сущность в Entity Framework Core.
Сущность (entity) это C# класс
В C# классе обязательно должно быть поле id или ID или Id (это primary key в Базе данных)

Пример
public class Book
{
    public int Id { get; set; } // обязательное поле
    public string Name { get; set; }
    public int Price { get; set; }
}
сопоставляется таблице в Базе данных

Название таблицы в Базе данных образуется от названия C# класса Book с добавлением буквы s

Таблица Books в Базе Данных
Колонка Id
Колонка Name
Колонка Price
Шаг 2 Подключение Entity Framework Core к Базе данных.
Для подключения к Базе данных нам нужен контекст данных. Пишем свой класс отнаследованный от класса DbContext

Пример
class MyContext : DbContext
{
    // MyConnection1 строка соединения к базе данных
    // MyConnection1 строка соединения описана в .config файле
    public MyContext() : base("MyConnection1")
    { }

    // DbSet это массив данных
    public DbSet<Book> Books { get; set; }
}
Шаг 3 Добавляем соединение к базе данных в файле App.config или Web.config
Файл зависит от типа Вашего приложения.
Читать подробнее <connectionStrings> в .config файле...
Шаг 4 Добавление данных в Entity Framework.

Пример
using (UserContext db = new UserContext())
{
      // создаем объект Book
      Book book1 = new Book { Name = "Граф Монтекристо", Price = 123 };

      // добавляем объект Book в контекст данных
      db.Books.Add(book1);

      // сохраняем контекст данных в базу данных
      db.SaveChanges();
}
Подходы в Entity Framework Core
Code-First. Подходит для программистов.
Вы пишите C# класс, а затем Entity Framework Core по этому C# классу создает таблицу в Базе данных.
Auto Code-First.
Вы выбираете базу данных, а Entity Framework Core смотрит на таблицы в базе данных и создает C# классы
 
 
Следующая тема →
Code First. Мы пишем C# класс. Entity Framework Core по нашему C# классу → создает и заполняет таблицу в базе данных
 
Ваши Отзывы ... комментарии ...
   
Вашe имя
Ваш комментарий (www ссылки может добавлять только залогиненный пользователь)

  Объявления  
  Объявления  
 
Что такое Entity Framework Core?
Code First
Code First. Мы пишем C# класс. Entity Framework Core по нашему C# классу → создает и заполняет таблицу в базе данных
Auto Code First. Entity Framework Core создает C# классы (модели таблиц) для выбранной базы данных
Дополнительные темы, вопросы
Что такое <connectionStrings> в .config файле для Entity Framework Core (EF Core)

  Ваши вопросы присылайте по почте: info@dir.by  
Яндекс.Метрика