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 и их возможностях.