.NET Core 8,如何向包含多个值的用户帐户添加属性?

问题描述 投票:0回答:1

我正在慢慢学习 .NET Core 8,并且我正在将 Identity 与个人用户帐户一起使用。我最近学习了如何向用户帐户添加自定义属性,例如

FirstName
LastName

我想添加一个名为“部门”的属性,但是,每个用户可能属于多个部门,因此

AspNetUsers
数据库表结构行不通。理想情况下,我会有一个单独的部门表 (
Deptid, DeptName
) 和另一个可以包含多个条目的部门用户表 (
userId, DeptId
)。

我知道如何使用 SQL Server Management Studio 手动创建此类表以及如何编写查询,但我想知道是否有一种方法可以通过迁移添加此表,并且让用户管理器返回用户的部门列表。

有人能指出我正确的方向吗?我不太确定要搜索什么。

我正在寻找有关此主题的信息。

c# entity-framework-core asp.net-core-mvc asp.net-core-identity
1个回答
0
投票

我认为你只需要一张桌子。只需为每个用户分配多个名称均为“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)
© www.soinside.com 2019 - 2024. All rights reserved.