ADO.NET Entity Framework

Материал из Википедии — свободной энциклопедии
Это старая версия этой страницы, сохранённая AvocatoBot (обсуждение | вклад) в 22:22, 9 мая 2012 (r2.7.1) (робот добавил: hu:Entity Framework). Она может серьёзно отличаться от текущей версии.
Перейти к навигации Перейти к поиску
ADO.NET Entity Framework в составе .NET Framework

ADO.NET Entity Framework (EF) — объектно-ориентированная технология доступа к данным, является object-relational mapping (ORM) решением для .NET Framework от Microsoft. Предоставляет возможность взаимодействия с объектами как посредством LINQ в виде LINQ to Entities, так и с использованием Entity SQL. Для облегчения построения web-решений используется как ADO.NET Data Services (Astoria), так и связка из Windows Communication Foundation и Windows Presentation Foundation, позволяющая строить многоуровневые приложения, реализуя один из шаблонов проектирования MVC, MVP или MVVM.

История

Релиз ADO.NET Entity Framework состоялся 11 августа 2008 года в составе .NET Framework 3.5 Service Pack 1 и Visual Studio 2008 Service Pack 1. В VS 2008 вошёл EDM Wizard для реверс-инжиниринга существующих баз данных и EDM Designer для редактирования сгенерированных моделей или создания их с нуля.

23 июня 2008 года, ещё до релиза первой версии, на стадии финальной доводки Entity Framework V1, начался процесс разработки Entity Framework V2.0.[1] По словам англ. Tim Mallalieu, программного менеджера LINQ to SQL и EF, в .NET Framework 4.0 именно Entity Framework станет рекомендуемой технологией доступа к реляционным СУБД посредством LINQ.[2]

Новая версия Entity Framework 4.0 предстала перед широкой общественностью 12 апреля 2010 года в составе релиза Visual Studio 2010 и .NET Framework 4.0.

Архитектура

Entity Data Model

Schema definition language

Entity SQL

Entity SQL представляет собой язык, подобный языку SQL, который позволяет выполнять запросы к концептуальным моделям в Entity Framework[3].

LINQ to Entities

Это альтернативный интерфейс LINQ API, используемый для обращения к базе данных. Он отделяет сущностную объектную модель данных от физической базы данных, вводя логическое отображение между ними. Так например, схемы реляционных баз данных не всегда подходят для построения объектно-ориентированных приложений и в результате мы имеем объектную модель приложения существенно отличающуюся от логической модели данных, в этом случае используется LINQ to Entities, который использует модель EDM (Entity Data Model). То есть, если вам нужно ослабить связь между вашей сущностной объектной моделью данных и физической моделью данных, например, если ваши сущностные объекты конструируются из нескольких таблиц или вам нужна большая гибкость в моделировании ваших сущностных объектов используйте LINQ to Entities.

Примечания

  1. Transparency in the design process (англ.). Microsoft ADO.NET team Entity Framework Design blog (23 августа 2008). Дата обращения: 24 ноября 2008. Архивировано 21 марта 2012 года.
  2. Update on LINQ to SQL and LINQ to Entities Roadmap (англ.). Microsoft ADO.NET team blog (29 октября 2008). Дата обращения: 24 ноября 2008. Архивировано 21 марта 2012 года.
  3. Общие сведения о языке Entity SQL

Литература

  • Эндрю Троелсен. Язык программирования C# 2010 и платформа .NET 4.0 = Pro C# 2010 and the .NET 4.0 Platform, 5ed. — М.: «Вильямс», 2010. — С. 1392. — ISBN 978-5-8459-1682-2.
  • Кристиан Нейгел, Билл Ивьен и др. C# 4.0 и платформа .NET 4 для профессионалов = Professional C# 4 and .NET 4. — М.: «Диалектика», 2010. — С. 1440. — ISBN 978-5-8459-1656-3.

Шаблон:Microsoft APIs