2011-12-15 3 views
1

온라인에서 찾은 NHibernateProvider 라이브러리를 사용하고 있으며 보안 및 프로필 정보를 사용중인 응용 프로그램 데이터베이스 모음과 별도로 유지하려고합니다. 필자는 애플리케이션 서비스를 중앙 집중화하려고하지만 대부분의 애플리케이션에는 자체 데이터베이스가 있습니다.(어떻게) nhibernate 구성에 특정 구성 파일 이름을 지정할 수 있습니까?

여러 데이터베이스를 사용하는 nhibernate를 검색하면 놀랍도록 복잡한 프로세스가 길게 생성됩니다. nhibernateprovider.config에 대한 참조를 하드 코딩하고 nhibernate를 사용하는 핵심 응용 프로그램과의 잠재적 인 충돌과 관련된 문제를 피하기 위해 공급자 라이브러리에서 참조를 하드 코딩하면 더 간단 할 것이라고 생각했습니다. 정말 간단한 생각처럼 보였습니다. 그러나 저는 간단합니다. 그러나 세션 팩토리를 인스턴스화 할 때 구성 파일을 지정할 위치를 알 수 없습니다. 인터넷 검색은 너무 많은 관련이없는 조회를 생성합니다.

  1. 는 세션 공장을 인스턴스화 할 때 명시 적으로 구성 파일을 지정하고, 만약 그렇다면,
  2. 당신이 그것을 어떻게해야합니까 수 있습니까?
  3. 가능하지 않은 경우 왜 그럴까요? 이것은 명백한 것으로 보인다.

답변

3
string configfile = "myNhibernate.config"; 
var config = new Configuration().Configure(configfile); 

당신은 또한에서 configFile에 공통 정보를 공유하고 실제로 트릭을 할 것 같다 않는 SessionFactory를

config.Properties[NHibernate.Cfg.Environment.ConnectionString] = connectionstring; 
+0

을 구성 befor을 동적으로 ConnectionString을 설정할 수 있습니다. 방법이 있어야한다는 것을 알았습니다. –

관련 문제