我正在开发一个 asp.net mvc 3.0 应用程序,并将 EF 4.1 用于我的数据访问层和工作单元模式。
这是我的模型:
public class UpdateUserViewModel
{
public User User { get; set; }
}
public partial class Role
{
public int Id { get; set; }
}
public partial class User
{
public Guid Id { get; set; }
public virtual Role Role { get; set; }
}
我将 UpdateUserViewModel 传递给视图,然后将视图中的表单发布到以下操作:
public ActionResult UpdateUser(User user)
{
var userObj = unitofwork.UserRepository.GetByID(user.Id);
TryUpdateModel(userObj, "User");
userObj.Role = unitofwork.RoleRepository.GetByID(user.Role.Id);
unitofwork.UserRepository.Update(userObj);
unitofwork.Save();
}
当我在视图中更新用户角色(它是一个下拉列表)并尝试更新它时会出现问题。它给了我以下错误:
The property 'Id' is part of the object's key information and cannot be modified.
但如果我不更新用户角色,它工作正常。
你能帮帮我吗?