2016-06-29 78 views
0

從使用多選這一行繼: mvc 4 MultiSelect list & EF many to many多選 - 多對多 - C#,EF的SaveChanges()

當我嘗試所有的更改保存回他們不救的背景下,只謂博客數據不是類別。

唯一的出路是先保存綁定數據,創建一個新的上下文,然後保存列表。

對另一個選擇的任何建議?

下面是不節能的分類控制器代碼,但它從後保存博客數據:

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

該代碼未顯示對類別的任何更改。您正在查找數據庫中已存在的類別並創建博客 - >類別關聯。根據您的關係映射,dbcontext不會檢測到需要對類別表進行任何更改。