2010-05-12 3 views
0

많은 사용자가 액세스해야하는 응용 프로그램이 있습니다. 성능을 최적화하기 위해 각 사용자 프로필 정보를 독립적 인 데이터베이스 파일에 저장하려고합니다.아음속 SQLite 여러 파일

사용자가 응용 프로그램에 로그인 할 때마다 자신의 데이터베이스에 연결된 새 공급자를 설정해야합니다. 모든 데이터베이스의 구조는 같습니다. 따라서 사용자에게 쿼리하는 동안 생성 된 DAL 클래스는 사용자를 기준으로 데이터베이스 파일을 전환해야합니다.

런타임시 해당 스위치를 수행하기 위해 SubSonic을 구성 할 수있는 방법이 있습니까?

감사합니다.

+0

이것은 SubSonic 3에 관한 것입니까? – Jon

답변

1

글쎄, 우리는 SubSonic3에 대해 이야기 다시 '가정 :

나는 이것에 대한 패치를 만들어 소스를 사용할 수 GitHub의에서 음속 템플릿 프로젝트의 문제로 기록했다. 문제 및 코드 링크 here을 찾을 수 있습니다.

패치를 적용한 후에는 사용자가 원하는대로 정확히 DefaultDataProvider 속성을 사용하게됩니다. 다음과 같이 사용하십시오 (예 : 사용자가 로그인 한 후).

YourSubSonicGeneratedNamespace.YourDatabaseName.DefaultDataProvider = 
    SubSonic.DataProviders.ProviderFactory.GetProvider(
     "your connection string here", 
     SubSonic.DataProviders.DbClientTypeName.SqlLite); 

그리고 좋은 결과를 얻을 수 있습니다.

SubSonic 2의 경우 this answer은 원하는 것처럼 들립니다.

+0

Jon Subsonic 2.0을 사용 중입니다. 소스 코드에 액세스 할 수 없습니다. 다른 대안이 있습니까? 감사합니다. –

+1

@Marcus : 관련 소닉 2 질문을 가리 키도록 내 대답을 업데이트했습니다. – Jon

0

아음속 2에서는 app.config 파일에서 공급자를로드하는 대신 런타임에 공급자를 삽입하는 방식을 사용합니다. 대신 당신이 응용 프로그램을 시작할 때마다 사용자를 작성하고 필요에 따라 기본 공급자를 변경할 수있는 하나 개의 공급자를 사용의 Subsonic in a VS2008 Add-In woes

: 여기 내 대답에

봐.