gpt4 book ai didi

c# - 使用 Entity Framework 将具有新角色的用户更新到数据库中

转载 作者:太空宇宙 更新时间:2023-11-03 22:47:40 24 4
gpt4 key购买 nike

我在更新/编辑分配了新角色或从(1 或 2)更改角色的用户时遇到了问题。角色保持不变,没有异常或错误。

注意:我在此处发布屏幕截图,因为我想准确显示我所看到的内容。

我有一个 User 类,其中包含角色和城市相关类:

public class User
{
public City CityId { get; set; }

public virtual Role Role { get; set; }

public bool IsInRole(int id)
{
return Role != null && Role.Id == id;
}
}

Role 表只有 2 个角色,ID=1 的 Admin 和 ID=2 的 guest。

roleDBTable

我在更新现有用户的角色时遇到问题。

我想在这里做的是我想通过简单地更新用户并在角色字段中传递 1 来授予用户管理员权限,如下所示:

View Typed-View

我可以通过此字段将 1 或 2 个 ID 传递给 Controller ​​,并设法通过角色 ID 获得“管理员”:

controller

因为我在 USER 中有所需的 ROLE 对象:

dbcontext

我仍然无法在数据库中更新具有管理员角色的用户。它仍然具有 Guest 角色 ID。

相同的场景是 User 类中的 CityID

任何帮助将不胜感激

最佳答案

The thing is you have to find the id first then make it sure the Role table should be unmodified:

public void Update(User users // this is your object`enter code here)
{
using(_db)
{
User user= db.User.Find(users.id);
user.Role_id = users.Role_id; // this is what you want to change.
_db.Entry(Role).State = EntityState.Unchanged;
_db.SaveChanges();
}
}

Hope That will Help. Cheers

关于c# - 使用 Entity Framework 将具有新角色的用户更新到数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49139992/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com