Разработка сущностной модели данных с помощью Entity Framework - Построение EDM при помощи мастера

ОГЛАВЛЕНИЕ

Построение EDM при помощи мастера

Создание сущностной модели начинается с добавления в проект ADO. NET нового файла EDM (см. <Fig>рис. 3</Fig>). После этого мастер EDM предложит либо создать модель на основе базы данных, либо начать с пустой модели. Создать модель на основе базы данных — неплохое решение, если доступ к базе данных у вас уже есть. Некоторые методики разработки, к примеру проектирование на основе областей, предполагают создание сущностной модели области до проектирования базы. В таком случае удобнее начать с пустой модели, а затем наполнить ее сущностями в визуальном конструкторе EDM. В качестве примера мы построили сущностную модель на основе базы данных Northwind.

 

Рис. 3 Добавление EDM-файла к проекту

В следующем окне мастер просит ввести информацию, необходимую для подключения к базе данных. Затем предлагается указать, какие объекты базы данных нужно включить в модель. Как видно из рис. 4, мы переносим в модель все таблицы и все хранимые процедуры базы данных Northwind, за исключением тех, которые используются для построения диаграмм. Таблицы изначально напрямую сопоставляются с сущностями, а хранимые процедуры можно сопоставить методам созданного контейнера.

 

Рис. 4 Выбор объектов базы данных 

После выбора объектов, включаемых в модель, мастер EDM создает файл EDMX, в котором определяется модель и сопоставления, и добавляет в проект ссылки в соответствии с требованиями платформы Entity Framework. Файл EDMX — это файл формата XML, состоящий из четырех основных разделов: сведений о визуальном представлении концептуальной модели в программе-конструкторе, описания концептуальной модели на языке CSDL, описания слоя сопоставлений на языке MSL о писания физической модели на языке SSDL. Вся эта информация записывается в один файл.

Данные, хранящиеся в файле EDMX, используются в Visual Studio для создания послойного представления модели в программе-конструкторе. Делается это только в процессе проектирования. Коды CSDL, MSL и SSDL используются в момент компиляции для создания классов, которыми будет представлена модель EDM.