2 つのエンティティがAlpha
ありBeta
、互いに M:M の関係があります。
私はいくつかBeta
の s をAlpha
like に追加しようとしています:
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
期待どおりにデータが取り込まれます。