0
我正在開發一個asp.net mvc 3.0應用程序,並將EF 4.1用於我的數據訪問層和工作單元模式。屬性'Id'是對象的關鍵信息的一部分,無法修改
這裏是我的模型:
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.
但是,如果我不更新用戶角色,它工作正常。
你能幫我嗎?
的可能重複的[屬性「ID」是對象的密鑰信息的一部分並且不能被修改(http://stackoverflow.com/questions/5820285/the-property-id-is-part-對象密鑰信息和不可修改) – 2012-12-06 12:55:37
我想我找到了答案!我嘗試使用包含屬性列表TryUpdateModel,它爲我工作。 – 2012-07-08 08:35:27