【发布时间】:2012-11-12 12:14:00
【问题描述】:
我有两个以多对多关系链接的表。当我尝试插入新的链接对象时,MVC 实体框架会隐藏链接表并忽略它。
表格在 personID 和干预ID 上链接,并带有这两者的组合 PK。
我正在添加一个新干预,该干预将 interventioID 创建为新密钥。我已将 personID 传递给控制器,调试器会显示正确的值。
但是,当我打电话时:
db.tInterventions.Add(tintervention);
db.SaveChanges();
return RedirectToAction("Index");
...链接表没有填满。
创建方法如下:
[HttpPost]
public ActionResult Create([Bind(Exclude = "interventionID")]tIntervention tintervention,
tPerson tperson,
int id,
int? personID)
如何在链接表上强制插入?
【问题讨论】:
-
您的模型配置正确吗?您是否尝试过在没有 MVC 的情况下重现这个 - 只是一个简单的 3 行应用程序?恐怕这里没有足够的细节可以提供帮助,而且您也没有在最简单的级别上解决问题。
-
EF 模型是从数据库中创建的,据我所知是正确的。数据库中的关系适用于直接 sql 查询。问题似乎是 personID 已经存在,因此干预表不需要对链接表进行任何更新,model.isvalid 即可返回 true。因此,Intervention 表获得了插入,但没有任何内容触发链接表上的插入。还有什么我需要做的。有什么我可以发布的代码对您有帮助吗?
标签: c# asp.net-mvc entity-framework asp.net-mvc-4 many-to-many