2009-05-15 2 views
0

레거시 ODBC 2.0 호환 데이터베이스를 사용하는 ASP.NET MVC가 포함될 프로젝트를 시작합니다. 목표는 현재 시스템 기능을 웹 프론트 엔드로 대체하고 1 년 후에 SQL Server로 백엔드를 교체하는 것입니다.ASP.NET MVC 및 ODBC 2.0 작업 방법

계획은 SQL 서버에 대해 코드를 작성한 다음 일부 심을 저장소 클래스에 삽입하여 대신 ODBC를 사용하는 것입니다. 이것을 할 수도 있습니까? Entity Framework에는 ODBC에 대한 지원 기능이 기본적으로 제공되지 않습니다.

어떤 생각이나 조언을 주시면 감사하겠습니다.

+1

나는 또한 관련 질문이 포함되어 있습니다. http://stackoverflow.com/questions/118248/good-net-orm-framework-that-supports-oledb-and-stored-procedures – Andiih

답변

1

저는 개인적으로 MVC와 함께 NHibernate를 사용합니다. 원래 우리 데이터베이스는 EF를 지원하지 않지만 SQL Server로 옮겼더라도 NHibernate를 유지할 정도로 충분히 즐길 수 있기 때문에 원래 선택했습니다.

학습 곡선이 다소 이상합니다. 전문가가되는 것은 확실히 가파른 일이지만, 특정 레이어에 익숙해지면서 점점 더 많은 작업을 처리 할 수 ​​있다는 점에서 매우 흥미 롭습니다.

당신의 경우 NHibernate는 아마도 데이터베이스를 지원하고, 단순한 데이터 액세스 레이어 (DTO를 반환하는 것)로 사용될 수 있고, 데이터베이스 불가지론적인 인터페이스를 제공하며, SQL Server를 지원할 수 있습니다. 당신이 NHibernate에서 더 많은 것을 원한다면 시간이 올 때 거기에있다.

+0

nhibernate가 데이터 액세스 및 엔티티 레이어를 코딩하고 EF로 스와핑하는 것보다 적은 비용 (즉, 고객에게 드는 비용)이라고 말하십니까? – Andiih

1

ODBC 데이터베이스를 쿼리하기 위해 자신의 데이터 액세스 계층을 작성하는 것을 막을 수있는 방법은 없습니다. MVC 모델이 데이터 계층을 사용하여 엔티티를 채우고이 객체를 컨트롤러에 반환 할 수 있도록 자체 엔티티 계층을 만들 수도 있습니다.

기본적으로 mvc 앱 아래에 데이터 액세스 및 엔티티 레이어가 있어야합니다. 그런 다음 나중에 엔티티 프레임 워크 또는 nhibernate 엔티티로 대체 할 수 있습니다.

이 방법을 사용하면 MVC 앱에서 사용중인 데이터베이스를 알 필요가 없다는 것을 의미하며 나중에 엔터티를 전환 할 때 쉽게 시간을 가져야한다는 것을 의미합니다.

관련 문제