我正在慢慢学习 .NET Core 8,并且我正在将 Identity 与个人用户帐户一起使用。我最近学习了如何向用户帐户添加自定义属性,例如
FirstName
和 LastName
。
我想添加一个名为“部门”的属性,但是,每个用户可能属于多个部门,因此
AspNetUsers
数据库表结构行不通。理想情况下,我会有一个单独的部门表 (Deptid, DeptName
) 和另一个可以包含多个条目的部门用户表 (userId, DeptId
)。
我知道如何使用 SQL Server Management Studio 手动创建此类表以及如何编写查询,但我想知道是否有一种方法可以通过迁移添加此表,并且让用户管理器返回用户的部门列表。
有人能指出我正确的方向吗?我不太确定要搜索什么。
我正在寻找有关此主题的信息。
我认为你只需要一张桌子。只需为每个用户分配多个名称均为“Department”:“{Deptid}”的声明即可。然后您可以添加部门表。 当获得部门时,您可以使用像
var claims = await UserManager.GetClaimsAsync(userId);
var ids= claims.Where(x => x.Type == "Department").ToArray();
var Departments = Context. Departments. Where (x=> x.id == Deptid)