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