데이터베이스 테이블/NHibernate 엔티티에 복합 키가 있습니다. 어떻게 든 특정 엔터티를 잡는 데 .Get
메서드를 사용하거나 복합 키로 인해 HQL/Criteria를 사용해야합니까?복합 키를 사용하여 NHibernate의 ISession.Get <>()을 사용하십시오.
7
A
답변
3
여기에 제안 당신이 키 클래스를 사용하는 경우에만에 Session.get()를 사용할 수 있습니다 :이 복합 키 매핑으로 nHibernate Composite Key Class Type Mismatch
24
:
<class name="MyClass">
<composite-id>
<key-property name="Key1" />
<key-property name="Key2" />
</composite-id>
<property name="..." />
</class>
당신이 좋아하는 갔지을 사용할 수 있습니다 ... 이 :
var x = Session.Get<MyClass>(new MyClass() { Key1 = 'Foo', Key2 = 'Bar'});
이것은 참조 된 클래스를 포함하는 복합 ID와도 작동합니다. 요청 된 ID를 포함하는 객체 그래프를 구성하면됩니다. –
익명의 클래스에서는 작동하지 않는다고 말하고 싶습니다. –