nHibernate可以根据列值映射到相关表吗?

时间:2009-05-14 04:40:18

标签: nhibernate reference

create table Table1(attributeName varchar(100),attributevalue varchar(100),attributeLookupMethod varchar(50))

创建表Table2(attributeName varchar(100),CSVAllowableValues varchar(1000)

基于以上2个表,使用nHibernate,当Table1.attributeLookupMethod ='Lookup'时,是否可以仅从Table2中检索细节?

感谢。

1 个答案:

答案 0 :(得分:2)

在两个表中实现子类化。

您将拥有Table1的类,以及Table2的类,它将扩展第一个类。 在Table1映射中,将字段'attributeLookupMethod'声明为鉴别符。在子类Table2的映射中,将discriminator-value声明为'Lookup'。

NHibernate doc about subclassing

通过这样做,最好从Table2到Table1声明一个公共主键(可能是attributeName)和一个外键