【发布时间】:2015-07-07 07:37:51
【问题描述】:
这是我首先要寻找的图表:
所以我有 MainObject,主要对象可能与 EntityA、EntityB 或 EntityC 相关。举个例子……
假设 MainObject 是一张发票。 EntityA、EntityB 和 EntityC 都是可以开票的不同实体。 所以我有以下选择:
(A) 我可以在 MainObject 表上拥有 EntityA_Id、EntityB_Id、EntityC_Id 列来与之关联。
(B) 我可以在 MainObject 表上有 Entity_Id 和 EntityType_Id,它告诉我如果 EntityType_Id = 1,那么我需要 Id 为 Entity_Id 的 EntityA 对象。
使用 A 在通过 Entity Framework 检索 MainObject 时,我可以使用简单的MainObject.Include("EntityA").Include("EntityB").Include("EntityC").. - 但是我必须对所有内容进行空检查,以找出与 MainObject 相关联的确切内容。
使用 B 是否可以执行类似于 A 的操作,以便在尝试找出每个 MainObject 对象的相关内容时,我没有多个空字段?
这类似于How to relate table with one of many others?,但据我了解,它试图通过链接器表将多对多关联起来,而每个 MainObject 将与 A、B 或 C 之一相关(以及 A、B、而 C 可以与许多 MainObjects 相关联)。以链接问题为例,一个订单将链接到一个主机或一个域,并通过类型表。
【问题讨论】:
标签: c# .net entity-framework entity-framework-4