92
Отличительной чертой Entity Framework является использование запросов
LINQ для выборки данных из БД. С помощью LINQ мы можем не только извле-
кать определенные строки, хранящие объекты, из бд, но и получать объекты,
связанные различными ассоциативными связями.
Другим ключевым понятием является Entity Data Model. Эта модель сопо-
ставляет классы сущностей с реальными таблицами в БД.
Entity Data Model состоит из трех уровней: концептуального, уровень хра-
нилища и уровень сопоставления (маппинга). На концептуальном уровне проис-
ходит определение классов сущностей, используемых в приложении. Уровень
хранилища определяет таблицы, столбцы, отношения между таблицами и типы
данных, с которыми сопоставляется используемая база данных. Уровень сопо-
ставления (маппинга) служит посредником между предыдущими двумя, опреде-
ляя сопоставление между свойствами класса сущности и столбцами таблиц. Та-
ким образом, мы можем через классы, определенные в приложении, взаимодей-
ствовать с таблицами из базы данных.
Entity Framework предполагает три возможных способа взаимодействия с
базой данных:
Database first: Entity Framework создает набор классов, которые отражают
модель конкретной базы данных;
Model first: сначала разработчик создает модель базы данных, по которой
затем Entity Framework создает реальную базу данных на сервере;
Code first: разработчик создает класс модели данных, которые будут хра-
ниться в бд, а затем Entity Framework по этой модели генерирует базу
данных и ее таблицы. [18]
По выше разработанной схеме БД были созданы соответствующие классы
и объекты для работы с ними. Для описания работы программы наиболее понят-
ным будет пояснение с помощью диаграммы классов.
Диаграммы классов предоставлена в виде схемы, которая отображена на
рисунке 2.20