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

}

这是我编写的用于在 sql server 中编辑电影详细信息和更新数据库的代码。这没有任何编译错误,但它没有更新 sql server 数据库。

4

2 回答 2

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() 并传递您要更新的项目。

于 2012-09-11T11:11:51.483 回答
0

您需要使用该Model2对象创建一个新实体,将其添加到 ObjectContext 并保存更改。您还没有编写任何应该将任何内容保存到数据库的代码。

于 2012-09-11T09:36:00.620 回答