wcf RIA 学习笔记二 多对多关系操作

在项目中经常碰到两个表之间关系的操作,如模块和角色间的关系操作,模块和应用间关系的操作,用户和角色,角色和权限,这些都是多对多的关系 ,现在要给角色分配模块,给模块分配应用,

 

借鉴同仁的做法是把所有的角色取出到一个集合,把所有的模块取出到另一个集合中,把这两个集合组成矩阵,再矩阵的行就是其中的一个集合的长度,宽是另一个集合的长度,然后动态生成CheckBox,让用户一个一个勾选哪个角色可以访问哪个模块,CheckBox的数目就是矩阵的元素个数,这样有几个问题,一是:做法复杂,效率不高,首先要取出所有的模块集合和所有角色集合,如果角色表和模块表的记录不多,几条或是几十条,这个效率没有什么影响,如果记录过多,在读取数据的时候,出现一个较长时间的等待,并且在写入的时候要循环整个矩阵元素,判断所有的CheckBox的选中状态,如果记录过多还要进行分页。具体做法如下图所示:


    化繁为简单的做法就是把多对多的关系转化成一对多的关系,

设计如下:


未完......待续........

原文地址:https://www.cnblogs.com/langhua/p/2033145.html