这个问题通常是由于未正确更新数据库架构而导致。在执行更新之前生成了一个控制器以使用旧属性。在Visual Studio中,右键单击解决方案资源管理器中的模型文件,然后选择“更新模型从数据库”,以确保模型与数据库同步。如果模型类已被手动更改,也可以通过手动更改后,然后有选择性地更新其属性来解决此问题。另外,可以通过在控制器中更改相关属性来解决此问题,以反映正确的模型属性。例如,要更改UserName属性,请确保您的模型和控制器代码如下所示:
模型:
public class User { public int Id { get; set; } //other properties... public string UserName { get; set; } //updated property }
控制器:
public ActionResult Edit(User user) { if (ModelState.IsValid) { db.Entry(user).State = EntityState.Modified; db.SaveChanges(); return RedirectToAction("Index"); } return View(user); }
这样更改模型和控制器后,将不再使用旧属性,而是使用正确的模型属性。