gpt4 book ai didi

asp.net-identity - 无法在 Identity v2 中从 IdentityUserRole 导航到角色名称

转载 作者:行者123 更新时间:2023-12-04 15:57:57 24 4
gpt4 key购买 nike

在 ASP Identity v2 之前,您可以这样做..

var context = new ApplicationDbContext();

var role = context.Users.FirstOrDefault().Roles.Single(p => p.Role.Name == "Some role name");

一旦我升级到 Identity v2,我的应用程序中像这样的行就停止编译。 IdentityUserRole 上不再有 Role 属性,因此不容易找到例如“管理员”角色中的所有用户。

我知道还有其他方法可以找到角色中的用户,但我的需求有所不同。这是一个简化的示例,但我需要构建具有特定角色信息的特定用户列表,类似于这样:
var data = context.Users.Select(p => new
{
Administrator = p.Roles.Any(role => role.Role.Name == "Administrator"),
ServiceProvider = p.Roles.Any(role => role.Role.Name == "ServiceProvider"),
Lender = p.Roles.Any(role => role.Role.Name == "Lender"),
Inspector = p.Roles.Any(role => role.Role.Name == "Inspector")
});

使用 Identity v2 似乎不再可能进行这种查询。

最佳答案

我们可能会在角色管理器上添加一个新的辅助方法来让所有用户都成为一个角色。我们不能同时在 User 和 Role 上保留导航属性,因为这会导致两个泛型类型的循环引用。这应该在 2.1 版中添加。

关于asp.net-identity - 无法在 Identity v2 中从 IdentityUserRole 导航到角色名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22745258/

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