gpt4 book ai didi

c# - Asp.Net LINQ 组合三个表

转载 作者:行者123 更新时间:2023-11-29 11:38:49 24 4
gpt4 key购买 nike

我想在我的 View 中显示三列:

======================================
UserName | Email | Role Name
======================================
codelover12 code@g.g Student
kimmy45634 kimy@c.c Teacher
======================================

所以最初我的想法是

我可以将 AspNetUsers 表中的 IdAspNetUserRoles 表中的 UserId 连接起来,还可以连接 AspNetRoles 中的 Id,以便我可以找出谁拥有哪个角色。

我正在尝试这样:

var model = from users in db.Users
join userRoles in db.AspNetUserRoles on users.Id equals roles.UserId
join role in db.Roles on role.Id equals userRoles.RoleId
select new { users.UserName, users.Email, role.Name };

但发现我无法访问 AspNetUserRoles。我将非常感谢您的帮助。

最佳答案

好吧,我明白了。

最简单的方法是将这行代码添加到 IdentityModels.cs

public DbSet<IdentityUserRole> UserRoles { get; set; }

然后您现在可以访问 AspNetUserRoles,并编写如下代码

var findRole = (from userRole in db.UserRoles
join role in db.Roles on
userRole.RoleId equals role.Id
where userRole.UserId == Id
select role.Name).ToList();

希望这可以帮助其他有类似问题的人。

关于c# - Asp.Net LINQ 组合三个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36161705/

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