我们有以下表结构:
tbl_A
A_ID INT PK
Type_ID INT
tbl_EA
EA_ID INT PK
A_ID FK to tbl_A
C_ID INT (reference to other table based on Type_ID from tbl_A)
tbl_C
C_ID INT PK
所以,我们认为tbl_A是抽象类,每个类型都是 子类,基于Type_ID的鉴别器。但后来我们遇到了 处理tbl_EA的问题。它有一个“假的”鉴别器 加入tbl_A以确定类型。这是b / c有一个 tbl_EA中的Type_ID列是多余的,您必须在tbl_A上加入 无论如何要获取这些数据(表中有更多列,但没有 需要这个)。然后,我们必须以某种方式映射关系b / w tbl_C和tbl_EA。
获取C实体的所有EA项的SQL:select * from tbl_EA where C_ID = AND A_ID IN(从tbl_A中选择A_ID,其中type_id =)。
关于如何为这些表设置映射的任何想法,以及相应的 关系?我觉得答案可能在于一个公式 鉴别器,但无法弄清楚。
答案 0 :(得分:0)
你不能让鉴别者加入。
只是一个类型列表,还是一个实际的实体? A和EA是一对一的吗?
通常,最好从您想要的对象模型开始,然后从那里开始工作,即使您的表结构是固定的。