在mvc2里,我用linq to sql,更新外键字段时总是不让我更新。具体如下:
用户表的角色ID(RoleID)字段是外键,关联角色表的主键RoleID,我更新用户信息时,更改其他字段的值都没有问题,就是RoleID的值更改时,会出现“对象的当前状态使该操作无效”的错误。代码如下:
public void UpdateUser(Users newuser){
User user=data.DataContext.Users.FirstOrDefault(u=>u.UserName==newuser.UserName);
if(user!=null)
{
user.Sex=newuser.Sex;
user.RoleID=newuser.RoleID; //这一行就出现上面所说的错误了。
......(省略代码)
}
}
请高手帮忙指出出现错误的原因,以及解决的办法。谢谢!!
user.role.ruleID=newuser.RoleID
解决了吗?