Работа с Entity Framework 6
487Работа с базами данных в .NET Framework --- Entity Framework 6
Entity Framework является продолжением технологии Microsoft ActiveX Data и предоставляет возможность работы с базами данных через объектно-ориентированный код C#. Этот подход предоставляет ряд существенных преимуществ: вам не нужно беспокоиться о коде доступа к данным, вам не нужно знать деталей работы СУБД SQL Server и синтаксиса языка запросов T-SQL, вместо этого вы работаете с таблицами базы данных как с классами C#, с полями этих таблиц - как со свойствами классов, а синтаксис SQL-запросов, который в ADO.NET раньше нужно было вставлять в код C# в виде команд, заменен на более удобный подход с LINQ. Entity Framework берет на себя обязанности по преобразованию кода C# в SQL-инструкции.
При работе с Entity Framework вам предоставляются огромные возможности по созданию модели базы данных с помощью интегрированной среды разработки (IDE) Visual Studio. Начиная с версии Entity Framework 4.1 вам предоставляется три подхода по проектированию базы данных, из которых вы можете выбрать для себя подходящий:
- Database-First
Подходит для проектировщиков баз данных - сначала вы создаете базу данных с помощью различных инструментов (например, SQL Server Management Studio), а затем генерируете EDMX-модель базы данных (предоставляет удобный графический интерфейс для взаимодействия с базой данных в виде диаграмм и объектную модель в виде классов C#). В данном случае вам нужно работать с SQL Server и хорошо знать синтаксис T-SQL, но при этом не нужно разбираться в C#.
- Model-First
Подходит для архитекторов - сначала вы создаете графическую модель EDMX в Visual Studio (в фоновом режиме создаются классы C# модели), а затем генерируете на основе диаграммы EDMX базу данных. При данном подходе не нужно знать ни деталей T-SQL ни синтаксиса C#.
- Code-First
Подходит для программистов - при данном подходе модель EDMX вообще не используется и вы вручную настраиваете классы C# объектной модели (данный подход поддерживает как генерацию сущностных классов из существующей базы данных, так и создание базы данных из созданной вручную модели объектов C#). Очевидно, что это подходит для программистов, хорошо знакомых с синтаксисом C#.
Лично я при работе с Entity Framework выбираю подход Code-First, но в нашем руководстве мы рассмотрим все три подхода.
-
1. Знакомство с Entity Framework
-
2. Code-First: аннотации и Fluent API
- Настройка столбцов таблицы
- Создание связи между таблицами
- Каскадное удаление данных
- Отношение один-к-одному (one-to-one) между таблицами
- Отношение многие-ко-многим (many-to-many) между таблицами
- Настройка схемы и таблиц базы данных
- Множественные сущности и таблицы
- Настройка привязки модели к базе данных
- Настройка подключения к базе данных
- Создание базы данных
- Миграции модели данных в Code-First
- Расширенные возможности настройки Code-First
-
3. Работа с данными