【发布时间】:2019-12-30 14:19:32
【问题描述】:
我正在做一个练习,其中一部分需要我做一个按钮,将用户的角色从User 更改为subbed user。我使用的表是Roles (Id, Title) 和Users (Id, name, etc, ),它们通过多对多关系连接,因此我尝试使用u.Roles.FirstOrDefault().Title 行访问每个用户的属性标题,如下所示:
public void ChangeRoleFromUserToSubscribedUser(User u)
{
u.Roles.FirstOrDefault().Title = "Subscribed User";
Entity.SaveChanges();
}
还有获取用户的then方法:
public ActionResult Change(string email)
{
UsersRepository ur = new UsersRepository();
var user = ur.GetUser().SingleOrDefault(x => x.Email == email);
ur.ChangeRoleFromUserToSubscribedUser(user);
return RedirectToAction("List");
}
现在,我尝试更改某个用户的名称(我们称他为 bob)并且它成功了,但是,当我使用上面的代码时,当我按下按钮时,Bob 的角色并没有从 @987654328 改变@到Subscribed user。相反,表 Roles 中的标题从 User 更改为 Subscribed User。
请问我做错了什么?
【问题讨论】:
标签: c# ssms relationship