Entity Framework 5 中的记录更新:所有方式与陷阱
大家好!我是 Entity Framework 5 和 ASP.NET MVC 3 的新手。我有一个简单的 User 模型:
```csharp
public class User
{
public int Id { get; set; }
public string Name { get; set; }
public string Email { get; set; }
public int Age { get; set; }
}
```
我从数据库中获取用户,在编辑表单中显示它,用户修改字段,然后我将表单提交回服务器。问题是我不知道如何正确更新记录。
现在我这样做:
```csharp
[HttpPost]
public ActionResult Edit(User updatedUser)
{
using (var db = new MyDbContext())
{
var existingUser = db.Users.Find(updatedUser.Id);
existingUser.Name = updatedUser.Name;
existingUser.Email = updatedUser.Email;
existingUser.Age = updatedUser.Age;
db.SaveChanges();
}
return RedirectToAction("Index");
}
```
这能工作,但我感觉这样不对——手动分配每个属性。