Я пытаюсь создать систему разрешений в своем приложении C #.
Моя идея такова:
Class: Permission
- string name;
- string value;
Class: Role
- string name
- List<Permission> Permissions;
Class: User
- List<Role> Roles;
- List<Permission> AdditionalPermissions;
Очень красиво и гибко. В особых случаях я могу создавать роли с разрешениями и даже настраивать их для некоторых пользователей.
У Entity Framework были другие планы, в базе данных таблица разрешений имеет UserID и ссылку RoleID, не совсем то, что я ожидал.
Table: Permissions
- int id;
- nvarchar name;
- nvarchar value;
- int UserID
- int RoleID
Table: Roles
- int id;
- nvarchar name;
Table: Users;
- int id
Могу ли я сделать так, чтобы структура сущностей создавала структуру, как показано ниже, без необходимости создавать классы C # самостоятельно?
Table: Permissions
- int id;
- nvarchar name;
- nvarchar value;
Table: Roles
- int id;
- nvarchar name;
Table: Users;
- int id
Table: Users_Permissions
- int UserID;
- int PermissionID;
Table: Role_Permissions
- int RoleID
- int PermissionID;