您现在的位置是:网站首页> 编程资料编程资料
sqlserver 用户权限管理,LINQ去除它的重复菜单项_MsSql_
2023-05-26
588人已围观
简介 sqlserver 用户权限管理,LINQ去除它的重复菜单项_MsSql_
Menu,这三个表之间有如下关系:
User_Role=>RoleId=>RoleMenu
RoleMenu=>MenuId=>Menu
它们之间的业务关系是:
当用户登陆后,通过UserId得到User_Role列表,将用户所包括的角色得出
通过User_Role找到所有对应Menu
现在有个问题,就是一个用户可以有多少角色,一个角色有多个菜单,当然,两个不同的角色可以有相当的菜单项,这时,就出现一个问题,用户在“管理员”这个角色里有“文件”这个菜单,同时它在“新闻管理员”这个角色里也有“文件”这个菜单,这样返回就会出现两个完成相同的”文件“菜单,下面,我使用匿名类和distinct方法来解决这个问题,代码如下:
class Program
{
static void Main(string[] args)
{
#region 实体列表初始化
List userRole = new List
{
new User_Role("01",1),
new User_Role("01",2),
new User_Role("02",1),
};
List roleMenu = new List
{
new Role_Menu(2,3),
new Role_Menu(1,1),
new Role_Menu(1,2),
new Role_Menu(2,1),
new Role_Menu(2,2),
};
List
User_Role=>RoleId=>RoleMenu
RoleMenu=>MenuId=>Menu
它们之间的业务关系是:
当用户登陆后,通过UserId得到User_Role列表,将用户所包括的角色得出
通过User_Role找到所有对应Menu
现在有个问题,就是一个用户可以有多少角色,一个角色有多个菜单,当然,两个不同的角色可以有相当的菜单项,这时,就出现一个问题,用户在“管理员”这个角色里有“文件”这个菜单,同时它在“新闻管理员”这个角色里也有“文件”这个菜单,这样返回就会出现两个完成相同的”文件“菜单,下面,我使用匿名类和distinct方法来解决这个问题,代码如下:
复制代码 代码如下:
class Program
{
static void Main(string[] args)
{
#region 实体列表初始化
List
{
new User_Role("01",1),
new User_Role("01",2),
new User_Role("02",1),
};
List
{
new Role_Menu(2,3),
new Role_Menu(1,1),
new Role_Menu(1,2),
new Role_Menu(2,1),
new Role_Menu(2,2),
};
List
这样的结果是我希望看到的:
您可能感兴趣的文章:
相关内容
- Sqlserver timestamp数据类使用介绍_MsSql_
- sqlserver中通过osql/ocmd批处理批量执行sql文件的方法_MsSql_
- SQLServer 获得用户最新或前n条订单的几种SQL语句小结_MsSql_
- win2003上安装SQL2000时CD-KEY(序列号)无法验证解决方法_MsSql_
- Sqlserver中char,nchar,varchar与Nvarchar的区别分析_MsSql_
- SqlServer中批量替换被插入的木马记录_MsSql_
- sqlserver 触发器教程_MsSql_
- 将MSSQL Server 导入/导出到远程服务器教程的图文方法分享_MsSql_
- 自动备份mssql server数据库并压缩的批处理脚本_MsSql_
- sqlserver中操作主从关系表的sql语句_MsSql_