Доступ к базе данных MVC3 с использованием существующей базы данных Postgres - PullRequest
1 голос
/ 15 ноября 2011

У меня есть приложение, основанное на 3-уровневой архитектуре с базой данных postgres (npgsql), имеющей более 400 хранимых процедур, и теперь я хочу разработать это же приложение с использованием MVC3 Framework.

Я хотел бы знать, каков наилучший возможный способ использования существующей базы данных с этими хранимыми процедурами, я натолкнулся на первый подход кода (http://weblogs.asp.net/scottgu/archive/2010/08/03/using-ef-code-first-with-an-existing-database.aspx), но хотел бы знать, является ли это лучшим решением.

Кроме того, я читал о преимуществах Razor, однако в моем приложении много DataGridViews и TabContorls, поэтому мне было интересно, легко ли будет использовать Razor?

Ответы [ 2 ]

0 голосов
/ 15 ноября 2011

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

Из-за следующего:

Работа с MVC как технологией в некоторой степени связана с разработкой DDD в качестве ООП или обычного ООП, и в обоих подходах основным уровнем является модель предметной области, а не БД, поэтому вам потребуется преобразовать все ваши хранимые процедуры в бизнес-логику внутри Сама Модель Домена или иным образом использует существующую БД, и в этом случае вы потеряете одно из больших преимуществ использования MVC

Работа с MVC на уровне представления не учитывает работу с DataGridViews или TabContorls, поэтому вам нужно будет также их выбросить, и не существует решения для их повторного использования.

В конце концов, основными преимуществами использования MVC являются возможность модульного тестирования и высокий уровень обслуживания, который обеспечивает MVC, поскольку характер шаблона и сам подход>

Так что вы должны очень хорошо подумать о том, какого уровня трансформации вы хотите достичь, чтобы решить, что вы будете сохранять и что вы выбрасываете, но я советую вам, если вы действительно не будете реструктурировать весь свой проект, не трансформируйте в MVC, просто оставьте проект таким, какой он есть, и просто проведите рефакторинг и улучшите существующий подход

0 голосов
/ 15 ноября 2011

Я бы предложил использовать что-то похожее на то, что у вас уже есть (http://npgsql.projects.postgresql.org/),, и тогда вы сможете использовать существующую инфраструктуру / инфраструктуру (как вы запрашиваете базу данных из существующего приложения).

Во-вторых, если вы используетеDataGridViews и TabControls, ASP.NET MVC на самом деле не работают с серверными элементами управления, вам придется либо получить HtmlHelper, который дает вам сетку, либо создать ее самостоятельно.

Вопрос, который я считаю нужнымспросили, почему вы хотите пойти MVC против WebForms 4.0?

...