我正在尝试学习 MVC 和 EF 以摆脱 WebForms 和 ADO.NET。我只是在整理我的第一个试用站点,所以看看它是如何运行的,遇到了一个绊脚石。
我正在页面上编辑记录并按保存。我没有返回任何错误,但是数据没有更新。
正在更新的文章模型
public class Article
{
[Key]
public int Id { get; set; }
public string Author { get; set; }
public string Title { get; set; }
public DateTime DateCreated { get; set; }
public string Body { get; set; }
public int Likes { get; set; }
public int Dislikes { get; set; }
public List<Comment> Comments { get; set; }
public string Tags { get; set; }
public int Category { get; set; }
}
Controller 上的编辑代码,articleId 来自查询字符串。
[HttpPost]
public ActionResult Edit(int articleId, FormCollection collection)
{
var result = from i in db.Articles
where i.Id == articleId
select i;
if (TryUpdateModel(result))
{
db.SaveChanges();
return RedirectToAction("Index");
}
return View(result.First());
}
调试时,TryUpdateModel() 返回 true 并调用 db.SaveChanges。不返回任何错误。当被引导回控制器上的 Index 方法时,文章显示没有变化。
是不是很明显?
非常感谢