где я должен поместить сущность EF и аннотации данных в проект asp.net mvc + entity Framework - PullRequest
0 голосов
/ 21 декабря 2010

Итак, у меня есть класс DataEntity, созданный EntityFramework4 для моей базы данных sqlexpress08. Этот контекст данных предоставляется через сервис данных WCF / Odata для Silverlight и выигрывает клиентов форм.

Должны ли объекты данных + файл edmx (сгенерированные EF4) помещаться в отдельную библиотеку классов?

Проблема здесь заключается в том, что я бы указывал аннотации данных для нескольких объектов, а затем для некоторых из них требовались бы определенные атрибуты MVC (например, CompareAttribute), поэтому библиотека классов также будет ссылаться на dll mvc. Также могут быть пользователи сущностей, которые будут инкапсулированы или помещены в IIdentity на веб-сайте. Так что это довольно привязано к веб-сайту MVC. Или это может быть в папке Base в самом проекте mvc?

В основном веб-сайт основан на данных, основанных на базе данных, таких как утверждение пользователей, изменение глобальных настроек и т. Д. Реальный бизнес происходит в приложениях Silverlight и Win Form.

Я использую mvc3 rc2 с Razor.
Спасибо

1 Ответ

5 голосов
/ 21 декабря 2010

Должны ли объекты данных + файл edmx (сгенерированные EF4) помещаться в отдельную библиотеку классов?

ИМХО вся логика доступа к данным, которая специфична для некоторой технологии доступа к данным (в вашем случае Entity Framework), должна идти в отдельной сборке. Там не должно быть никаких специфических сборок MVC, на которые есть ссылки.

В вашем приложении ASP.NET MVC вы затем будете ссылаться на эту сборку и писать модели представлений. Это те модели представления, которые будут содержать любые специфические атрибуты MVC. Затем вы можете отобразить между вашими модельными классами и теми моделями представления, которые будут переданы в представление. AutoMapper может быть использовано для облегчения этой задачи.

...