0

次のテーブルを持つ 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.....
}
4

1 に答える 1