我正在尝试学习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; }
}
在控制器上编辑代码,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方法时,文章显示未更改。
这是否有什么非常明显的问题?
非常感谢。
if
块内的对象是否实际上用新值进行了更新。 - Knaģis