Menu,这三个表之间有如下关系: User_Role=>RoleId=>RoleMenu RoleMenu=>MenuId=>Menu 它们之间的业务关系是: 当用户登陆后,通过UserId得到User_Role列表,将用户所包括的角色得出 通过User_Role找到所有对应Menu 现在有个问题,就是一个用户可以有多少角色,一个角色有多个菜单,当然,两个不同的角色可以有相当的菜单项,这时,就出现一个问题,用户在“管理员”这个角色里有“文件”这个菜单,同时它在“新闻管理员”这个角色里也有“文件”这个菜单,这样返回就会出现两个完成相同的”文件“菜单,下面,我使用匿名类和distinct方法来解决这个问题,代码如下: <div class="codetitle"><a style="CURSOR: pointer" data="42298" class="copybut" id="copybut42298" onclick="doCopy('code42298')"> 代码如下:<div class="codebody" id="code42298"> 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", }; List roleMenu = new List { new Role_Menu(2,3), new Role_Menu(1, new Role_Menu(2, }; List
这样的结果是我希望看到的:
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|