dir.by  
  Поиск  
Компьютер, программы
Entity Framework (EF5, EF6) for working with a C database#
 Что такое Entity Framework? 
посмотрели 10092 раз
обновлено: 21 July 2022
Entity Framework это объектно-ориентированная технология для работы с базой данных через C# классы.
C# класс в Entity Framework сопоставляется таблице в базе данных.

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

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

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

Концепция Entity Framework
Главным в концепции Entity Framework является понятие сущности (entity).
Сущность (entity) в Entity Framework это C# класс
Шаг 1 Сущность в Entity Framework.
Сущность (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 к Базе данных.
Для подключения к Базе данных нам нужен контекст данных. Пишем свой класс отнаследованный от класса 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
Code-First. Подходит для программистов.
Вы пишите C# класс, а затем Entity Framework по этому C# классу создает таблицу в Базе данных.
Auto Code-First.
Вы выбираете базу данных, а Entity Framework смотрит на таблицы в базе данных и создает C# классы
Database-First. Подходит для проектировщиков баз данных.
Сначала вы создаете базу данных с помощью различных инструментов (например в SQL Server Management Studio), а затем генерируете EDMX-модель базы данных (предоставляет удобный графический интерфейс для взаимодействия с базой данных в виде диаграмм и объектную модель в виде классов C#). В данном случае вам нужно работать с SQL Server и хорошо знать синтаксис T-SQL, но при этом не нужно разбираться в C#.
Model-First. Подходит для архитекторов.
Сначала вы создаете графическую модель EDMX в Visual Studio (в фоновом режиме создаются классы C# модели), а затем генерируете на основе диаграммы EDMX базу данных. При данном подходе не нужно знать ни деталей T-SQL ни синтаксиса C#.
 
 
Next topic →
Entity Framework Type Conversion, Table Naming Conventions
 
Your feedback ... Comments ...
   
Your Name
Your comment (www links can only be added by a logged-in user)

  Объявления  
  Объявления  
 
What is Entity Framework?
Types in Entity Framework
Entity Framework Type Conversion, Table Naming Conventions
Foreign Key and Cascade Deletion
DateTime & Date & Time Only in the Entity Framework
Code First
Code First. We"re writing a C# class. Entity Framework uses our C# class → to create and populate a table in the database
Auto Code First. Entity Framework creates a C# class from an existing table in the → database
Database First
Database First. Entity Framework creates a C# class from an existing table in the → database
Model First
Model First. We create a model in Visual Studio. Using the Entity Framework model, → creates C# classes and a Database
Working with data
Iterating over data in the Entity Framework
Adding Data to the Entity Framework
Modifying (editing) data in the Entity Framework
Deleting data in the Entity Framework
Database initialization and migration
Initialize the database in the Entity Framework. DropCreateDatabaseAlways allows you to repopulate the database with each new run
Performing a Database Migration to Entity Framework (if someone has already made a cs migration file, and I want to update the database on my computer, I perform the migration, that is, call EntityFramework\Update-Database)
Creating and performing a Database migration to Entity Framework (I changed the c# class, then call EntityFramework\add-migration, i.e. the cs file with the migration code is automatically added to the project, then call EntityFramework\Update-Database, i.e. the migration file is executed and the database is changed)
SQL in Entity Framework
SQL Commands in Entity Framework
Transactions in the Entity Framework
Managing Transactions in the Entity Framework
Additional topics, questions
What is <connectionStrings> a .config file for Entity Framework (EF5, EF6)
When EntityFrameworkUpdate-Database is called, the error "System.Data.SqlClient.SqlException (0x80131904) is thrown. A network-related or instance-specific error occurred while establishing a connection to SQL Server. "
When calling EntityFrameworkUpdate-Database, the error "Your startup project "..." doesn"t reference Microsoft.EntityFrameworkCore.Design"
WWW Sites to Learn Entity Framework
Sites to learn Entity Framework

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