2011-07-06 3 views
1

MVC 3에서 유창한 nhibernate를 사용하고 있습니다. 비즈니스 계층, DAL 및 저장소 계층이 분리되어 있습니다. 이제 DAL 또는 MVC에서 데이터베이스 연결을 생성 할 위치를 묻습니다. (사용자 인터페이스 레이어)유창한 nHibernate 데이터베이스 연결

참고 : web.config 파일에서 연결 문자열을 정의하고 싶습니다.

아는 사람 있습니까?

감사

답변

2

내 MVC 프로젝트 내에서 같은 것을 할 : -

<connectionStrings> 
    <add name="db" 
     connectionString="Server=.;Database=NHCookbook;Trusted_Connection=SSPI;"/> 
    </connectionStrings> 

그럼 난처럼 내 세션 공장을 구축 MVC 프로젝트 : - 응용 프로그램 때문에

var nhConfig = Fluently 
    .Configure() 
    .Database(MsSqlConfiguration.MsSql2008 
       .ConnectionString(c => c.FromConnectionStringWithKey("db")) 
    ) 
    .Mappings(m => m.FluentMappings.AddFromAssemblyOf<AMODELCLASS>() 
    ) 
    .BuildConfiguration(); 

    sessionFactory = nhConfig.BuildSessionFactory(); 
+0

mvc 프로젝트 내에 세션 팩토리를 빌드 하시겠습니까? 권리 ? – Saad

+0

예, 저는 개인적으로'IOC'을 사용하여 세션 팩토리를 저장소/DAO 계층으로 전달합니다. 그러나 Tomas가 지적했듯이이 옵션은 선택 사항이며 실제로 DAL – Rippo

+0

내부에서 사용할 수 있습니다.이 오류는 "SessionFactory를 만드는 동안 유효하지 않거나 불완전한 구성이 사용되었습니다." – Saad

1

코드를 실행하면 ASP.NET MVC 프로젝트가되며 Web.config의 구성 설정은 모든 클래스 라이브러리에서 사용할 수 있습니다. 따라서 어떤 프로젝트에서도 Rippo가 제안한 구성 코드를 사용할 수 있어야합니다 (단, 동일한 키를 가진 연결 문자열을 정의하지 않으면 다른 응용 프로그램에서 다시 사용할 수 없습니다).

NHI에 대한 구성 코드가 다른 NHibernate 관련 사항과 함께 DAL 프로젝트에 있다는 것을 제안합니다.

+0

네가 제안한 것과 똑같이하고있다. 감사합니다 – Saad

+0

그의 포털에서 언급 한 Rippo 코드는 예외를 제공합니다. "SessionFactory를 생성하는 동안 유효하지 않거나 불완전한 구성이 사용되었습니다."어떤 예외가 있습니까? – Saad