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中检索细节?
感谢。
答案 0 :(得分:2)
在两个表中实现子类化。
您将拥有Table1的类,以及Table2的类,它将扩展第一个类。 在Table1映射中,将字段'attributeLookupMethod'声明为鉴别符。在子类Table2的映射中,将discriminator-value声明为'Lookup'。
NHibernate doc about subclassing
通过这样做,最好从Table2到Table1声明一个公共主键(可能是attributeName)和一个外键