【问题标题】:C# Entity Framework - Creating New Claim in database for an already existing userC# Entity Framework - 在数据库中为现有用户创建新声明
【发布时间】:2020-03-13 23:46:51
【问题描述】:

我正在尝试向现有用户添加声明,并且我有以下代码:

  userDb = //Gets all the logic for the user.

Task<IdentityResult> userCreate = userManager.CreateAsync(userDb);

但是当我运行 CreateAsync 时,它会生成一个新的 UserId 并在声明中使用另一个 ID 创建一个新寄存器,这是我不想要的。 我怎样才能插入一条新记录,传入C# UserId 我希望该行成为?

我认为这就是你们解决我的问题所需的所有代码。

【问题讨论】:

  • 我们需要一些架构,但假设您的架构是合乎逻辑的:并且用户对声明列表有一个 FK:您应该获取用户并将声明添加到声明表中对父用户的引用。
  • 你没有说清楚。您正在尝试向现有用户添加声明?但是您提到的代码除了创建用户之外什么也没做。
  • 没有任何事情可做; Create 意味着它创建了一条记录。我期望某种形式的“添加或更新”逻辑

标签: c# .net entity-framework identityserver4


【解决方案1】:

为了为现有用户添加Claim

您需要获取指定的用户,然后使用UserManager为其添加声明。

userDb = //Gets all the logic for the user.
var roleClaim = new Claim("role", "Admin");
await userManager.AddClaimAsync(userDb, roleClaim);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-06-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-30
    • 2019-06-08
    • 1970-01-01
    • 2016-08-21
    • 1970-01-01
    相关资源
    最近更新 更多