Лучший способ связать в Entity Framework 4 (сначала база данных) и MVC3

Я относительный новичок в C # .Net (.net 4), EF4, Winforms и MVC3.

Я разместил базу данных в SQL Server в процессе разработки «бэкэнда» Winforms для задачи, которую мне поручили. Я установил одно решение и создал .edmx из базы данных как собственный проект / сборку в решении. Также в решении есть приложение winforms, которое ссылается на сборку .edmx. Используя стандартную генерацию кода EF4, я создал приложение Winforms, и все там хорошо.

Теперь мне нужно создать веб-интерфейс конечного пользователя. Я хочу использовать MVC3. Я прошел через учебные пособия по MVC3 на Pluralsight и довольно неплохо разбирался в MVC3. Но как там, так и в других местах, большинство примеров MVC3 + EF4 - это «сначала код».

Я не понимаю, как лучше всего объединить базу данных EF4 с MVC3? Я просмотрел некоторые шаблоны EF4Templates, но, похоже, они генерируют POCO, которые отличаются от материалов EF4 по умолчанию, и сломают мое приложение Winforms. Я читал кое-что о репозиториях, а также об использовании Automapper. Я могу добавить ссылку на EF4 и мой .edmx в проект MVC3 (так же, как я сделал с Winforms), но, похоже, все еще нужно создать модель контроллера / представления ИЛИ можно просто работать напрямую с классами EF4 по умолчанию в контроллере?

Просто ищу некоторые рекомендации относительно того, как к этому следует подходить по отношению к MVC3.

Спасибо!


person Mark J Bailey    schedule 06.05.2011    source источник


Ответы (1)


При желании вы можете работать напрямую с классами EF4 по умолчанию в контроллере. Поддержка инструментов в MVC 3 Tools Update для добавления и формирования контроллеров сначала работает с кодом, но вы также можете использовать существующий контекст из .edmx, если хотите работать напрямую с объектами.

http://weblogs.asp.net/scottgu/archive/2010/07/16/code-first-development-with-entity-framework-4.aspx

Если вы предпочитаете использовать шаблон репозитория в своем приложении, вы можете проверить пакет MvcScaffolding, некоторую информацию о нем можно найти в блоге Стива Сандерсона.

http://blog.stevensanderson.com/2011/01/13/scaffold-your-aspnet-mvc-3-project-with-the-mvcscaffolding-package/

Вы также можете сами создавать модели представлений, если хотите пойти по этому пути.

person Joe Cartano    schedule 06.05.2011
comment
Спасибо за быстрый отзыв! Я посмотрю по предоставленным вами ссылкам. Я думал, что приложу усилия к тому, что является наилучшей практикой. - person Mark J Bailey; 06.05.2011
comment
Обновление: ковыряясь с некоторыми другими условиями поиска, я нашел этот полезный пост в блоге MSDN на MSDN от Джули Лерман, который на самом деле касается использования генератора DBContext в EF4.1 для наложения более простой объектной модели на сценарий, ориентированный на базу данных: msdn.microsoft.com/en-gb/data/gg685489 - person Mark J Bailey; 06.05.2011