0
나는이 프로젝트에 능통 자 NHibernate를 사용하고 매핑과 내 자신에 해결할 수없는 문제가 있습니다두 서브 클래스는 같은 테이블
이class Cake {}
class CheeseCake : Cake {}
class VanillaCheeseCake : CheeseCake {}
class CakeMap : Class<Cake> {
Table("CAKE");
Id(x => x.Id, "ID")
.GeneratedBy.GuidComb();
Map(x => x.CakeType);
}
class CheeseCakeMap : Subclass<CakeMap> {
Table("CHEESE_CAKE");
KeyColumn("ID");
Map(x => x.CheeseAmount);
}
class VanillaCheeseCakeMap : Subclass<CheeseCakeMap> {
}
내가 원하는 것은 모두 CheeseCake
및 VanillaCheeseCake
을하는 것입니다 같은 테이블. Cake.CakeType
을 판별 자로 사용할 수 있습니다. 나는 또한 VanillaCheeseCakeMap
을 클래스 맵 CakeMap
으로 정의하려고 시도했지만, nhibernate가 ID 매핑을 찾지 못했습니까?
을 어디'놀이에 와서 Cake'는 무엇입니까? 다른 두 테이블과 동일한 테이블에 있습니까? 아니면 별도 테이블에 있습니까? –
'Cake'는 기본 클래스 일 뿐이며 공통 속성을 가지고 있으며 별도의 "CAKE"테이블에 저장됩니다. –
사실 FNH에서 이것이 가능하다는 확신이 없습니다. 'Subclass <>'매핑을 사용하여 무언가를 매핑하면'CheeseCakeMap'에서 필요한 DiscriminateSubClassesOnColumn 메소드를 얻지 못합니다. –