Можно ли использовать леса MVC 3 в n-слойных приложениях? - PullRequest
4 голосов
/ 27 августа 2011

Я видел несколько примеров ASP.NET MVC3 Scaffolding, но это всегда простые базовые приложения.Как насчет многоуровневого / многоуровневого решения с несколькими проектами:

/Data  
/Repository  
/Services  
/UI (MVC3)  

Базовые строительные леса проталкивают все в контроллер.

Можно ли настроить шаблон лесов так, чтобы он брал POCO из проекта Data, затем создавал репозиторий в проекте Repository, обслуживал в проекте Service и, наконец, создавал тонкий контроллер в MVC, который ничего не знает о контексте данных?1006 *

Я немного растерялся, потому что это действительно повышает производительность.

Ответы [ 2 ]

2 голосов
/ 27 августа 2011

Если вы используете флаг -Repository, вы получите хранилище.С шаблонами по умолчанию, которые находятся в папке «Модель» (если используются области, они помещаются в соответствующую папку «Модель области»).

Вы можете настроить шаблоны, которые использует MvcScaffolding (см. Видео Стивена Сандерсона MVCConf2).Тем не менее, заставить вещи идти в отдельные проекты и т. Д. Будет сложно, если вы никогда не использовали скрипт powershell.

Конечно, ничто не помешает вам перемещать файлы, переименовывать пространства имен,и т.д. Да, это займет немного работы, но это намного лучше, чем ничего.Я делаю это, это занимает у меня все 10 минут.

Я ожидаю, что кто-то скоро выпустит пакет NuGet такого рода вещей, или же дополнительные инструменты, чтобы упростить его.

КакВы говорите, что это повышение производительности, но, возможно, вам все еще нужно сделать немного самостоятельно.

1 голос
/ 27 августа 2011

Проверьте проект Nuget mvcscaffolding - хорошие посты в блоге на http://blog.stevensanderson.com/2011/04/08/mvcscaffolding-scaffolding-custom-collections-of-files/

Вы можете настроить это, чтобы быть в курсе любых слоев, которые вы хотите, и, конечно, можете ссылаться на другие проекты на основе репозитория и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...