作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在现有(MSSQL 2008 R2)数据库中有两个表,这些表与链接表相关。
这两个表是“计划”和“提示”。链接表是“ PlanTipLinks”。
计划可以包含许多提示,并且提示可以与多个计划相关联(即,这是一个多对多关系)。在应用程序中,我只关心“ Plan.Tips”关系。我不需要Tip.Plans逆关系。
链接表中的外键引用不能为空。
我正在使用以下流利的API代码来映射这种关系:
modelBuilder.Entity<Plan>()
.HasMany(p => p.Tips)
.WithMany()
.Map("PlanTipLinks", (p, t) =>
new
{
PlanId = p.Id,
TipId = t.Id
});
最佳答案
从EF CTP4开始,无法通过Fluent API直接打开“多对多”关联上的级联删除。
也就是说,如果您要确保可以删除原理(例如,计划记录)而不必担心链接表中的从属记录(即PlanTipLinks),则无需在自EF Code First以来,数据库在涉及多对多关联时将负责客户端的级联删除。
例如,当您删除一个Plan对象时,代码首先足够聪明,可以首先发送一条delete语句来摆脱PlanTipLinks表中的从属记录,然后它将发送另一个delete语句来删除Plan记录。
有关更多信息,请查看以下帖子:
EF CTP4 cascade delete on many to many relationship
关于entity-framework - 如何使用EF4 Fluent API将删除级联到链接表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4158027/
我是一名优秀的程序员,十分优秀!