联结表是否隐式隐藏在 Entity Framework 图中?
Are Junction Tables Implicitly Hidden in Entity Framework Diagrams?
我的数据库中到处都有联结 table,这样我就可以创建多对多关系。在一种情况下,我有 tables NotificationFormat
和 Frequency
并将它们与名为 NotificationFormatFrequency
.
的连接点连接
我尝试将联结 table 添加到实体类型列表中,但我还没有找到方法。 'Update Model from Database...' 不会将联结 table 添加到实体类型列表中,但我确实在实体商店中看到了它。
经过多次尝试和失败后,我仔细查看并注意到我的 none 个纯连接 table 显示在图表中,它们在要添加到的实体类型中也不可用图表。但是,在每种情况下,我都在我的两个 table 之间看到一个 'Association',我什至看到 NotificationFormat
的集合连接到 Frequency
的集合。
那么,在 EF 中对多对多关系建模的预期行为是什么?如果是这样,那么也许我不想用连接点 tables 弄乱我的图表,所以也许我不在乎是否有办法做到这一点。提前致谢。
是的,EF 会为您创建中间表。对于给定的关系,只需让两端使用 > 1 (*, 1...*) 的基数。
您不会将中间表作为类型或在设计器中看到,但它们会出现在实际的数据库中。
我的数据库中到处都有联结 table,这样我就可以创建多对多关系。在一种情况下,我有 tables NotificationFormat
和 Frequency
并将它们与名为 NotificationFormatFrequency
.
我尝试将联结 table 添加到实体类型列表中,但我还没有找到方法。 'Update Model from Database...' 不会将联结 table 添加到实体类型列表中,但我确实在实体商店中看到了它。
经过多次尝试和失败后,我仔细查看并注意到我的 none 个纯连接 table 显示在图表中,它们在要添加到的实体类型中也不可用图表。但是,在每种情况下,我都在我的两个 table 之间看到一个 'Association',我什至看到 NotificationFormat
的集合连接到 Frequency
的集合。
那么,在 EF 中对多对多关系建模的预期行为是什么?如果是这样,那么也许我不想用连接点 tables 弄乱我的图表,所以也许我不在乎是否有办法做到这一点。提前致谢。
是的,EF 会为您创建中间表。对于给定的关系,只需让两端使用 > 1 (*, 1...*) 的基数。
您不会将中间表作为类型或在设计器中看到,但它们会出现在实际的数据库中。