7
我在令人羡慕的情况下不得不与遗留数据库集成,幸运的是只读的目的,并选择使用NHibernate。到目前为止,一切都很好,但我有一个新的要求,让我挠头。使用鉴别器与流利NHibernate的多层次的继承
在今天之前,我在表中有一列可以作为鉴别器,但现在事实证明,在某些情况下,我需要有多个鉴别器列。这可能与NHibernate?
我已经研究过使用公式,它的工作,但现在我有问题,我需要排除'未知'的子类(还没有映射)。例如,我有这样的:
DiscriminateSubClassesOnColumn("")
.Formula("case ... when ... then ... when .. then ... else 'unknown' end");
我希望能够过滤掉一切,这是“未知” ......
编辑:我认为,一个可能的解决方案是使用AlwaysSelectWithValue()
,启用它有什么影响?我相信这与在nhibernate映射xml中的force
是一样的。
我试过这样的事情,但它抱怨discriminatorColumn不是已知的列。 – jonnii
* discriminatorColumn *必须是您在公式中区分的列。 NH并不在乎你指定哪一列,但它必须在数据库中才有用 – Firo