2009-09-01 10 views
0

내가 원하는 것은 내 전체 응용 프로그램을 ADO.NET의 nhibernate로 변환하고 다른 데이터베이스를 사용하여 테스트하는 것입니다. 나는 nhibernate가 많은 다른 데이터베이스를 지원한다는 것을 안다. 그래서 내 어플리케이션이나 nhibernate 코드를 변경하지 않고 다른 데이터베이스들 사이를 전환 할 수 있을까?Nhibernate를 사용할 수 있습니까? 데이터베이스간에 전환하고 Nhibernate 코드를 변경하지 않습니까?

답변

4

, 나는 HQL을 사용하여 기록 된 쿼리. 그것이 가능하다는 것을

말을하지만 것 또는 ICriteria API는 다른 DBMS'es에 상자 밖으로 작동합니다. (NHibernate에 그 DBMS를 지원하는 경우).

하지만, (예를 들어 http://fgheysels.blogspot.com/2007/07/nhibernate-ms-access-problems-with.html) 일부 구성 설정을 변경해야 할 수도 있습니다.

2

짧은 대답 : 예. 긴 대답 : 그것은 다릅니다 :-) 저는 여러 번이 작업을했습니다. SQLite (초기 개발 및 단위 테스트 중)와 SQL Server (이후 개발, 통합 테스트 및 생산)간에 코드 변경 또는 재 컴파일없이 전환했습니다. .config가 변경됩니다.

당신의 어플리케이션이 꽤 복잡하다면, 이식성 문제가 발생할 수 있지만, 어플리케이션을 위해 여러 RDBMS 제품을 지원하고 싶다면 NHibernate는 당연한 생각입니다. 이러한 이식성 문제는 대개 간단히 해결할 수 있습니다. 만큼 당신이 NHiberate (ISession.CreateSqlQuery)를 사용하여 가능한 특정 DBMS에 대한 타겟으로 특정 쿼리를 (쓰지 않는

관련 문제