2011-05-03 3 views
2

안녕하세요 모든 : web.config에서 데이터베이스가 구성된 C#/MVC3/Razor를 사용하여 앱을 만들고 있습니다. 요구 사항 중 하나는 데이터를 다른 데이터베이스로 푸시하는 것입니다. MVC3 프레임 워크 내에서이 doable입니까 아니면 표준 메서드/sql /을 사용하여 두 번째 데이터베이스에 연결해야합니까? 그냥ASP.NET MVC3 다중 데이터베이스

<connectionStrings> 
    <add name="db1" connectionString="Data Source=serverName;Initial Catalog=dbName1;User Id=foo;Password=secret;" providerName="System.Data.SqlClient" /> 
    <add name="db2" connectionString="Data Source=otherServerName;Initial Catalog=dbName2;User Id=bar;Password=secret;" providerName="System.Data.SqlClient" /> 
</connectionStrings> 

:

감사

답변

4

당신은 당신이 두 번째 연결 문자열을 사용하는 데이터베이스에 액세스하는 데 사용하는 사용자의 ORM 프레임 워크 또는 무엇이든 당신의 Web.config에 두 번째 연결 문자열을 가지고 구성 할 수 있습니다 한 가지 기억해야 할 점은 ADO.NET Connection Pool은 앱 도메인 및 연결 문자열 당입니다.이 경우 두 개의 개별 연결 풀이 유지됩니다.

0
<connectionStrings> 
    <add name="First_DB_Conn" connectionString="" providerName="Some_Provider" /> 
    <add name="Second_DB_Conn" connectionString="" providerName="Some_Provider" /> 
</connectionStrings> 

이 방법 당신은

0

ASP.NET MVC 자체가 데이터베이스 (또는 기본 지속성 계층의 어떤 형태)에 대해 아무것도 포함하지 않는 다른 DBS 더 많은 연결을 추가 할 수 있습니다. MVC3 도구 업데이트에서 개발자를위한 툴링 중 일부는 Entity Framework 4.1의 "코드 우선"기능을 직접 사용합니다.

그러나 이것은 사용자 정의 할 수 있습니다 (예 : 사용자 고유의 T4 템플릿 또는 다른 스캐 폴딩 또는 완전히 무시됨 (모든 지속성 논리를 수동으로 작성). 응용 프로그램이 스캐 폴딩이 가정하는 CRUD 연산에 매핑되지 않으면 후자가 필요합니다

직접 할 경우 .config 파일에서 여러 연결 문자열을 사용하여 여러 ADO.NET 연결을 사용하거나 다른 데이터베이스에 대해 여러 ORM 모델을 사용할 수 있습니다.