2016-06-29 6 views
0

複数選択を使用して、この行に続き: mvc 4 MultiSelect list & EF many to many複数選択 - 多くの多くの - のC#、EFのSaveChangesを()

私はTHT、バック彼らは保存されませんコンテキストに対するすべての変更を保存しようブログデータはカテゴリーではありません。

最初にバインドデータを保存し、新しいコンテキストを作成してリストを保存する方法がありました。

代替手段についてのご意見はありますか?

以下

カテゴリーを保存するが、それは、ポストからのブログのデータを保存していないコントローラのコードです:

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); 
} 

値は、[OK]ブログモデルに追加されますが、データベースに保存されません。

答えて

0

コードにカテゴリの変更が表示されていません。すでにデータベースに存在するカテゴリを見つけて、ブログ - >カテゴリ関連付けを作成しています。リレーションシップマッピングによっては、dbcontextはcategoriesテーブルに変更が必要であることを検出しません。

関連する問題