是否可以使用NHibernates组件进行继承?一个快速谷歌只返回了一个充满适当结果的手(所有博客),所有这些都是前一段时间写的,所以想知道它是否可用?
如果不是你怎么处理呢?
答案 0 :(得分:3)
目前无法实现。如果需要继承,则必须映射实体。
答案 1 :(得分:1)
除了Diego所说的,还有一个选项可以使用IUserType为层次结构实现自定义水合/脱水。有关详细信息,请参阅this article(其Java,但可以在C#中使用相同的机制)。
答案 2 :(得分:0)
是
public class A { }
public class B : A { }
public sealed class C : B { }
public abstract class BaseAMap<T> : ComponentMap<T> where T : A {
public BaseAMap() {
// Map A here
}
}
public class AMap : BaseAMap<A> {
}
public class BaseBMap<T> : BaseAMap<T> where T : B {
public BaseBMap () {
// Map B (excluding A)
}
}
public class BMap : BaseBMap<B> {
}
public sealed class CMap : BaseBMap<B> {
public CMap () {
// Map C (excluding B)
}
}