我有两个实体,Alpha
它们Beta
之间有 M:M 关系。
我正在尝试添加一些Beta
s 到Alpha
这样的:
public ActionResult Edit(Alpha alpha)
{
if (ModelState.IsValid)
{
var selectedBetaIds = //populated from checkboxes in the view
var selectedBetas = db.Betas.Where(b => selectedBetaIds.Contains(b.Id));
alpha.Betas.Clear();
foreach (var b in selectedBetas)
alpha.Betas.Add(b);
db.Entry(alpha).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
return View(alpha);
}
但该表AlphaBetas
没有添加任何条目和任何alpha.Betas.Count() == 0
.
奇怪db.SaveChanges()
的是,在上述方法之后,在调试中,Betas
按预期填充。