필자가 작성한 앱에 "이상한"시나리오가 있는데,이를 nHibernate를 사용하여 구현할 수 있습니다.nHibernate를 사용하여 자식 개체를로드하기위한 특별한 시나리오
시나리오는 다음과 같이 진행됩니다 ... 테스트가 있습니다. 테스트는 일련의 Testlets로 구성됩니다 (Testlet은 미리 정의 된 일련의 질문이며 메타 데이터가 포함되어 있습니다 ...).
... 내가 테스트를 실행하는 동안 테스트의 특성에 따라 데이터베이스에서 무작위로 선택되는 테스트 렛 (레벨 및 유형은 ...).
내 DB에있는 Testlet 테이블에는 Test 테이블에 FK가 있어서는 안됩니다. 저장 프로 시저를 가리키는 사용자 지정이 작업을 수행 할 것이라고 생각했지만 - 매핑 hbms 스키마를 빈 DB로 내보낼 때 여전히 내 Testlet 테이블에 외래 키를 만듭니다.
다음은 테스트 내 매핑입니다 : 그 자동 생성 외래 키 주위에 얻을 수있는 방법이
<class name="Test">
<id name="UID">
<generator class="guid" />
</id>
<property name="Type" />
<property name="Description" />
<bag name="Items" generic="true" inverse="false">
<key column="UID"/>
<one-to-many class="Testlet"/>
<loader query-ref="loadTestletByTestID"/>
</bag>
</class>
<sql-query name="loadTestletByTestID">
<load-collection alias="items" role ="Test.Items"/>
exec [TestletByTestID] ?
</sql-query>
있습니까?
고마워, 왜 그냥 매핑에서 항목을 제거하고 임의 항목을로드하고 테스트를로드 한 후에 할당 할 수있는 쿼리를 호출하지 천사