我坦率地不知道如何搜索我的问题,所以这里就是。
我正在为我正在开始的新项目尝试一些不同的方法。
我有一个PostgreSQL DBMS。我有一个包含多个模式的DB。这个想法是有一个“根”模式,它作为其他模式的基础。 我想要实现的是一种“单向”继承。我希望我在根表中的查询不要查看子类的模式,但我还没有找到办法。
在查询子类时,我想加入基类,但在查询基类时,我不想查询子类。
我理解不同继承方法之间的区别,但我不确定我是否有可能做到这一点。
我当前的设置实际上适用于不同模式中的子类,但是当查询基类时,NHibernate会查询每个子类以查看基类是否是这些类型中的任何一种。
在某些情况下,这种行为可能是合适的,但在其他情况下,我只想“单独”查询基类。
作为另一个要求,基类不能知道子类(它们就像插件/扩展)。
希望上述内容有任何意义 - 表达起来有点困难。
提前致谢...
答案 0 :(得分:1)
<class ... polymorphism="explicit">
请参阅http://www.nhforge.org/doc/nh/en/index.html#mapping-declaration-class
答案 1 :(得分:0)
我明白了。我的问题出在我的SubclassMap<>
。显然NHibernate不支持使用连接子类的显式多态。我现在使用ClassMap<>
加入每个子类并调用Join(...)
。在这种情况下,显式多态性有效。