连接具有特定角色的表

时间:2017-11-13 05:06:50

标签: c# sql asp.net sql-server asp.net-mvc

我在我的应用程序访问者,个人,设施和4个服务中拥有 3 角色,每个服务都带有用户ID的表格

   - Visitor:-  will have no services
   - Individual:-  will have 2 services
   - Facility:-  will have 3 services

我想将角色与服务表连接起来,这样每个角色只能通过它可以提供的服务连接到表....如何将其映射到ASP Identity和SQL Server?

1 个答案:

答案 0 :(得分:1)

试试这个设计

Design

我在下面添加了一些给定结构的样本记录

Sample

这里有3个用户和4个角色。

UserId 2(个人)有2个角色

  • RoleId 2:Admin
  • RolesId 3:普通用户

UserId 3(Facility)有3个角色

  • RoleId 1:超级管理员
  • RoleId 2:Admin
  • RoleId 3:普通用户

以下查询可用于检索用户角色

SELECT 
* 
FROM Users U 
INNER JOIN UserRoles UR 
  ON U.UserId = UR.UserId
INNER JOIN Roles R
  ON R.RoleId = UR.RoleId
WHERE ISNULL(Ur.ActFl,0)=1--1 : For Active Roles, 0 - For Inactive Roles