2012-09-11 34 views
2
MovieStoreEntities MovieDb = new MovieStoreEntities(); 
public ActionResult Edit(int id) 
{ 

    //var EditMovie1 = MovieDb 
    AddMovieModel EditMovie = (from M in MovieDb.Movies 
           from C in MovieDb.Categories 
           where M.CategoryId == C.Id 
           where M.Id == id 
           select new AddMovieModel { Name = M.Name, Director = M.Director, Country = M.Country, categorie = C.CategoryName, Category = M.CategoryId }).FirstOrDefault(); 

    //AddMovieModel EditMovie1 = MovieDb.Movies.Where(m => m.Id == id).Select(m => new AddMovieModel {m.Id }).First(); 
    List<CategoryModel> categories = MovieDb.Categories 
     .Select(category => new CategoryModel { Category = category.CategoryName, id = category.Id }) 
     .ToList(); 

    ViewBag.Category = new SelectList(categories, "Id", "Category"); 


    return View(EditMovie); 
} 

// 
// POST: /Default1/Edit/5 

[HttpPost] 
public ActionResult Edit(AddMovieModel Model2) 
{ 
    List<CategoryModel> categories = MovieDb.Categories 
     .Select(category => new CategoryModel { Category = category.CategoryName, id = category.Id }) 
     .ToList(); 
    ViewBag.Category = new SelectList(categories, "Id", "Category"); 



    if (ModelState.IsValid) 
    { 
     //MovieStoreEntities model = new MovieStoreEntities(); 






     MovieDb.SaveChanges(); 


     return View("Thanks2", Model2); 
    } 
    else 
     return View(); 

} 

這是我編寫的編輯Movie詳細信息和更新數據庫在sql server中的代碼。 這沒有任何編譯錯誤,但它沒有更新SQL Server數據庫。ASP.net MVC3 howto edit sql database

回答

4

。假定這裏要更新類別你需要做的是這樣

List<CategoryModel> categories = MovieDb.Categories 
    .Select(category => new CategoryModel { Category = category.CategoryName, id = category.Id }) 
    .ToList(); 
ViewBag.Category = new SelectList(categories, "Id", "Category") 
Category category = new Category() 
category = categories.First(p=>p.CategoryId == Id); 
category.Name = "New Name"; 
MovieDb.Categories.SaveChanges(category); 
MovieDb.SaveChanges(); 

您將需要得到你想要編輯的項目......在這種情況下,這會從被過濾類別類別列表。然後可以調用該實體上的savechanges方法,即MovieDb.Categories.SaveChanges()並傳遞要更新的項目。

+1

我想更新電影表 – user1662380

0

您需要使用Model2對象創建一個新實體,將其添加到ObjectContext並保存更改。您沒有編寫任何應該將任何內容保存到數據庫的代碼。