我的数据库中有一个多对多关系:
CREATE TABLE [dbo].[PositionRequirements](
[Position_ID] [int] NOT NULL,
[Requirement_ID] [int] NOT NULL,
CONSTRAINT [PK_PositionRequirements] PRIMARY KEY CLUSTERED
(
[Position_ID] ASC,
[Requirement_ID] ASC
)
当我在 EF5 中生成模型时,我看不到一个表,而是与各自 FK 表中每一侧的两个集合的关联。所以我有一个Positions
inRequirements
的集合和一个Requirements
in的集合Positions
。很公平,我明白这里发生了什么。
我偶然发现了这个问题,展示了如何删除多对多行:
问题是,我看不到任何方法来泛化这个功能,但是如果模型中定义了一个表,我可以看到这会相对容易。
有没有办法“欺骗” EF 创建 MM 表,而不是关联集合?
我已经看到了这个页面以及使用IDatabaseInitializer<>
界面,但是它似乎不起作用 - 我在图中没有看到表格。
这将简化我当前项目中的很多事情。