我有一个情况,我有一个Common.Domain.Person
和Specific.Domain.Person
。NHibernate:完全覆盖基域实体
第一个应该作为一个通用包的一部分提供。
当通用软件包需要定制以满足特定项目的需求时,才会出现第二个软件包。
在对象模型中,它可以很容易地通过继承来实现。
然而,在NH映射中,我遇到了一个小问题。
我可以创建一个NHibernate <subclass>
映射,但这需要我使用鉴别器。但是,我知道如果特定人员类是继承的,那么在此特定项目中将不会使用公共类实例。
什么是最好的方式来实现这一点,而不添加鉴别器列到基类(因为没有不同的情况下进行区分)?
你可以映射在3项不同的方式中的继承NHibernate的。你需要一些方法来告诉你想从数据库映射到哪个类。你想如何区分数据库中的两个类? – Paco 2010-05-25 18:44:07
在所描述的情况下,这个表格中永远不会有多于一个类别,所以差异不存在。 – 2010-05-25 18:50:40
比我不明白这个问题。当基类永远不会被使用时,我不明白为什么你需要继承。有了这个描述,我只会创建2个类中的一个。 – Paco 2010-05-25 19:12:06