我使用 EF5 作为我的 ORM 工具。我在数据库中的 3 个表之间有如下关系:
表 1 为主表。它与表 2 具有“1 到 0..1”的关系。表 2 与表 3 具有“多对 1”的关系。
现在,当您将其导入 EF 时,它会折叠(隐藏)表 2。您可以通过执行以下操作进入表 3:
Table1.Table3
基本上在我生成代码的T4模板中,我需要知道表1和表3之间的关系是否隐藏了一个中间表。
我怎样才能做到这一点?
多对多表链接很容易,因为我可以查看导航属性关系的多重性,如下所示:
if (navProperty.FromEndMember.RelationshipMultiplicity == RelationshipMultiplicity.Many &&
navProperty.ToEndMember.RelationshipMultiplicity == RelationshipMultiplicity.Many)
而且我会知道中间缺少一个表,但是对于上面的模型,它变成了多对 0..1 的关系,它可能隐藏也可能不隐藏中间表。
有任何想法吗?