我有两个实体,Alpha它们Beta之间有 M:M 关系。
我正在尝试添加一些Betas 到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按预期填充。