Entity Framework 6
Entity Framework 6 (EF6) — это проверенное средство объектно-реляционного сопоставления (O/RM) для .NET, которое разрабатывалось и совершенствовалось в течение нескольких лет.
В качестве O/RM EF6 уменьшает несогласованность между реляционным и объектно ориентированным мирами, позволяя разработчикам создавать приложения, которые взаимодействуют с данными, хранящимися в реляционных базах данных, с помощью строго типизированных объектов .NET, представляющих прикладную область, и устраняя необходимость писать большой объем инфраструктурного кода для доступа к данным.
В EF6 реализованы многие популярные возможности O/RM:
- Сопоставление классов сущностей POCO не зависит ни от каких типов EF
- Автоматическое отслеживание изменений.
- Разрешение идентификаторов и единицы работы.
- Безотложная, отложенная и явная загрузка.
- Преобразование строго типизированных запросов с помощью LINQ (Language INtegrated Query)
- Расширенные возможности сопоставления, включая поддержку:
- Отношения "один к одному", "один ко многим" и "многие ко многим"
- Наследование (одна таблица на иерархию, одна таблица на тип и одна таблица на конкретный класс).
- Сложные типы
- Хранимые процедуры
- Визуальный конструктор для создания моделей сущностей.
- Интерфейс Code First для создания моделей сущностей путем написания кода.
- Модели можно создавать на основе существующих баз данных и затем редактировать вручную или же создавать с нуля и затем использовать для создания новых баз данных.
- Интеграция с моделями приложений .NET Framework, включая ASP.NET, и через привязку данных с помощью WPF и WinForms.
- Возможность подключения к базам данных SQL Server, Oracle, MySQL, SQLite, PostgreSQL, DB2 и т. д. на основе ADO.NET и различных поставщиков.
Что выбрать — EF6 или EF Core?
EF Core — это более современная, упрощенная и расширяемая версия Entity Framework, почти аналогичная EF6 по возможностям и преимуществам. EF Core была создана с нуля и содержит новые возможности, недоступные в EF6, хотя в ней пока отсутствуют некоторые расширенные возможности сопоставления из EF6. Используйте EF Core в новых приложениях, если набор функций соответствует вашим требованиям. В разделе Сравнение EF Core и EF6 подробно описывается, как сделать выбор.
Начать
Добавьте в проект пакет NuGet EntityFramework или установите Entity Framework Tools для Visual Studio. А затем смотрите видео, читайте руководства и знакомьтесь с расширенной документацией, чтобы научиться использовать все возможности Entity Framework 6.
Предыдущие версии Entity Framework
Это документация по последней версии Entity Framework 6, но по большей части она применима и к предыдущим выпускам. Прочитайте разделы Новые возможности и Прошлые выпуски, чтобы узнать обо всех выпусках EF и их возможностях.