2011-11-15 4 views
1

저는 3 단계 아키텍처를 기반으로하는 응용 프로그램을 400 개 이상의 저장 프로 시저가있는 postgres 데이터베이스 (npgsql)로 만들었습니다. 이제는 MVC3 Framework를 사용하여 동일한 응용 프로그램을 개발하고 싶습니다.기존 Postgres 데이터베이스를 사용하는 MVC3 데이터베이스 액세스

나는이 저장 프로 시저와 함께 기존 데이터베이스를 사용할 수있는 가장 좋은 방법을 알고 싶습니다. 코드를 처음 접했습니다 (http://weblogs.asp.net/scottgu/archive/2010/08/). 03/using-ef-code-first-with-existing-database.aspx)하지만 최상의 솔루션인지 알고 싶습니다.

또한 Razor의 이점에 대해 읽었지만 내 응용 프로그램에는 Razor와 함께 사용하기가 쉽지 않을지 궁금해서 많은 DataGridViews 및 TabContorls가 있습니다.

답변

0

먼저 당신은, 리팩토링 또는 MVC3를 사용하여 기존 응용 프로그램을 개발에 갈 필요가 변환 레벨의 수준을 결정해야하기 때문에 다음의

:

기술로 MVC로 작업하는 방법은 DDD를 OOP 디자인 또는 일반 OOP로 사용하는 방법과 관련이 있습니다. 두 방법 모두 기본 계층은 DB가 아닌 도메인 모델이므로 모든 저장 프로 시저를 도메인 내부의 비즈니스 논리로 변환해야합니다 모델 자체 또는 기존 DB를 사용하십시오.이 경우 MVC 사용의 큰 이점 중 하나를 잃게됩니다

프레젠테이션 계층에서 MVC를 사용하면 DataGridViews 또는 TabContorls로 작업 할 수 없으므로이를 던져야 할뿐만 아니라 다시 사용할 수 없습니다. 패턴과 접근 방식 자체의 성격>

그래서 당신이 있기 때문에 마지막에

, MVC를 사용하여의 주요 장점은 ,,, 단위 테스트와 MVC가 제공하는 유지 보수의 높은 수준의 능력이다 정말로 당신이 무엇을 유지할 것인지, 무엇을 버릴 것인지를 결정하기 위해 달성하고 싶은 트랜스 레벨의 수준을 생각하면 좋겠지 만, 전체 프로젝트를 실제로 재구성하지 않는다면 당신에게 조언하는 것은 MVC로 변환되지 않고, 프로젝트를 그대로 리펙토링하고 기존의 접근 방식을 개선하십시오.

+0

답장을 보내 주셔서 감사합니다. 3 층 아키텍처를 유지하는 것이 현명 할 것이라고 생각합니다. 현재 유지 관리 문제에 직면하고 있지 않습니다. – Shobi23

+0

MVC를 사용하면 성능 향상에 도움이 될 수 있습니다. 프레젠테이션 계층, 더 이상 생성 된 JavaScript, 더 무거운 viewstate 등을보다 잘 제어 할 수있을뿐만 아니라 친숙하고 생산적인 학습 시간이 필요합니다. 또한 마이 그 레이션하는 장기 계획을 넣을 수 있습니다, 그리고 나를 이해하지 그리워하지 말고 내가 기억하는 하나의 주요 이점은 유지 보수성이 아니라 모든 유지 보수가 유지됩니다. –

0

이미 (http://npgsql.projects.postgresql.org/)와 같은 것을 사용하고 기존 프레임 워크/인프라 (기존 응용 프로그램에서 데이터베이스를 쿼리하는 방법)를 활용할 것을 제안합니다.

두 번째로, DataGridViews 및 TabControls를 사용하는 경우 ASP.NET MVC는 실제로 서버 컨트롤과 작동하지 않으므로 그리드를 제공하거나 직접 빌드하는 HtmlHelper를 가져와야합니다.

내가 물어야 할 질문은, 왜 MVC 대 WebForms 4.0을 가고 싶습니까? 당신은 아마 대부분의 작업을 던져 때문에

+0

우리의 관심사는 성능이며, 이것이 우리가 MVC로 옮기려고하는 이유입니다. MVC가 성능에 도움이 될까요? – Shobi23

관련 문제