使用multiselect从这一行开始: mvc 4 MultiSelect list & EF many to many
当我尝试将所有更改保存回他们不保存的上下文时,只有博客数据不是类别。
唯一的出路是首先保存Bind数据,创建一个新的上下文,然后保存列表。
关于替代方案的任何建议?
以下是未保存类别但从帖子中保存博客数据的控制器代码:
public ActionResult Edit(int id,Blog blog, int[] selectedCategories)
{
blog.Categorys = new List<Category>(); //adding because coming back null
//loop though and add the items posted
foreach (var item in selectedCategories)
{
Category c = db.Categorys.Find(item);
blog.Categorys.Add(c);
}
db.Blogs.Attach(blog);
db.Entry(blog).State = EntityState.Modified;
db.SaveChanges();
return View("Test", blog);
}
将值添加到博客模型确定中,但不会保存到数据库中。
答案 0 :(得分:0)
代码未显示类别的任何更改。您正在查找数据库中已存在的类别并创建博客 - &gt;类别协会。根据您的关系映射,dbcontext不会检测到需要对类别表进行任何更改。