2009-12-27 3 views
0

나는 nHibernate와 다중 데이터 소스를 사용하는 것에 대해 읽었고, 다중 세션 팩토리를 얻고 db를 여러 번 호출했다.nhibernate, 2 datasources

데이터가 다른 데이터 소스에있는 경우 모델에 "has-a/has-many"관계를 유지할 수 있는지 알아야합니다. 저축 등을 캐스케이드 할 수있는 방법이 있습니까?

만약 이것이 덮어 버렸거나 어리석은 것이라면 사과드립니다.이 물건을 들고 일어나기 시작하면 모델 첫 번째 접근법을 사용하지 않으면 훨씬 쉬울 것입니다.

+1

SQL에서 불가능한 것은 모두 NHibernate에서 가능하지 않습니다. – Paco

+0

글쎄, 이제는 일반적인 해결책이있는 일반적인 시나리오 인 것 같습니다. 나는 nHibernate가 그 이상이라고 희망하고있다. –

답변

0

Paco가 바로 켜져 있습니다. 그냥 할 수 없습니다.

+0

실제로 NHibernate! = SQL을 사용하면됩니다. ID는 필요한 작업의 복잡성에 달려 있습니다. – Jaguar

1

데이터 원본 A로 보낸 SQL 쿼리에서 DataSourceBName.Schema.TableName을 통해 데이터 원본 B의 테이블에 액세스하여 원하는 작업을 수행 할 수 있다면 요청한 작업을 수행 할 수 있습니다.

해당 클래스 (class name = "ClassB"table = "TableName"schema = "DataSourceBName.SchemaName")에 대한 NHibernate 매핑 파일의 스키마 이름에 데이터 소스 B의 이름을 추가하고 NHibernate를 연결하도록 구성하기 만하면됩니다 데이터 원본 A.

또한 두 데이터 원본에 모두 액세스 할 수있는 올바른 권한이 있는지 확인하십시오.

관련 문제