我有一个带有下表的 ASP.NET 自定义角色提供程序。
[Role] RoleName( PK, nvarchar(100) );
[PermissionGroup] PermissionId( PK, int );PermissionGroupName( nvarchar(256) );
[PermissionGroupHasRole] PermissionGroupId( PK, int );RoleName( PK, nvarchar(100) );
[User] UserId( PK, int ); UserName( nvarchar(100) );
[UserHasPermission] UserId( PK, int ); PermissionGroupId( PK, int );
这个想法是将角色分配给诸如“管理员”、“销售员”等权限级别,并且用户可以位于多个组中。例如,我可能是推销员和管理员。
我的问题是 SQL 或 Linq 查询如何获取给定用户的角色列表?例如一个函数,如
List<string> GetRolesForUser( int UserId )
{
SQL Query.....
}