Asp.net 多对多表的核心 WebApi 端点

Asp.net core WebApi endpoint for many to many tables

我正在使用我们的设计师团队提供的端点开发 asp.net 核心网络 API 应用程序。这是多对多的关系。下面是tables

表名:

  1. 用户(用户 ID、姓名、性别)。
  2. 角色 (RoleId, Title)
  3. 用户角色(用户 ID, RoleId).

关系:

角色终点:

用户端点:

UserRole 端点:

问题: 假设我们的组织中有数千个用户和数千个角色。 请告知为多对多关系设计端点的最佳实践是什么 tables.

此外,如果我们想在一次调用中添加、更新或删除多个用户及其分配的角色,最好的方法是什么?

我已经创建了以下用于加入 table 的端点,但不确定。请指教

简而言之,如何插入和更新多对多。我们什么时候加入table?我试过 google 但没有找到任何例子

Also, if we want to add, update or delete many users and their assigned roles in one call what is the best way?

I have created the below endpoint for joining tables but not sure. please advice.

POST –> V1/ UserRole
PUT –> V1/ UserRole
DELETE –> V1/ UserRole

首先,端点代表在路由方面彼此不同的应用程序功能单元。所以它不取决于用户和角色的数量,而是取决于你的功能。您可以创建以下端点:

  • POST –> V1/ UserRole : 添加用户到角色。
  • PUT –> V1/ UserRole : 更新用户的角色。
  • DELETE –> V1/ UserRole : 从角色组中删除用户。

由于您已经配置了用户和角色table之间的many to many relationship,并且UserRole是加入table。当您调用上述端点时,您可以查询用户和角色 table 以检查用户和角色(参数)是否存在。如果没有,请创建一个新项目。然后更新 UserRole table 项。

这里有一些更新相关实体的相关文章,您可以参考:

Tutorial: Update related data - ASP.NET MVC with EF Core

Updating many to many relationships in Entity Framework Core