Entity Framework ввел подход Code First с версии Entity Framework 4.1. Этот подход в основном, полезен для Domain Driven Design. В подходе Code First вы фокусируетесь на вашем приложении и начинаете создавать классы для него, а не сначала разрабатываете свою базу данных, а затем создаете классы, соответствующие вашему дизайну базы данных. На следующей схеме показан этот подход последовательно:
- Классы
- Entity Framework
- База данных
Рабочий процесс разработки при использовании code first: Создание или изменение классов -> настройка этих классов домена с использованием атрибутов Fluent-API или аннотаций данных -> Создание или обновление схемы базы данных с помощью автоматической миграции или миграции на основе кода.
Entity Framework представляет специальную объектно-ориентированную технологию на базе фреймворка .NET для работы с данными. Традиционные средства ADO.NET позволяют создавать подключения, команды и прочие объекты для взаимодействия с базами данных. Entity Framework представляет собой более высокий уровень абстракции, он позволяет работать с данными независимо от типа хранилища. Если на физическом уровне мы оперируем таблицами, индексами, первичными и внешними ключами, но на концептуальном уровне, который нам предлагает Entity Framework, происходит работа с объектами.
Отличительной чертой Entity Framework является использование запросов LINQ для выборки данных из базы данных. С помощью LINQ мы можем не только извлекать определенные строки, хранящие объекты, но и получать объекты, связанные различными ассоциативными связями.