中间表类设计
举个栗子
一个用户user有多个功能供选择 用户表和功能表 如 insert,update,delete 然后我做了个中间表存放一个用户对应多个功能 一个功能也同时被多个用户使用 一般添加的是时候通常用多选框选择赋予这个用户的功能 当编辑的时候要去掉改用户的某些功能或添加某些功能 先说说本人以前的做法添加的时候还好 通常会这样做
public void add(user _user ,ArrayList list)
{
事务TransactionOptions开始
//用户添加
int id = 用户表.Add(_user);//返回用户ID
for(int 1=0;i<list.count;i++)
{
中间表.用户ID = id
中间表.功能ID = list[i].ToString()
中间表.add(中间表)
}
事务结束
}
编辑的时候就麻烦了会有好大一个方法操作
public void update(user _user ,ArrayList list//新的功能数据 )
{
事务TransactionOptions开始
//用户修改
用户表.update(_user);
//中间表修改
第一步: 查询中间表该用户的所有功能
第二步:对list进行遍历
for( 查询中间表该用户的所有功能)
{
for( 对list进行遍历)
{
进行判断如果原有的功能不存在list里面就删除
}
}
然后在添加操作遍历反一下
for(list进行遍历)
{
for( 查询中间表该用户的所有功能)
{
进行判断如果list不存在中间表里面就添加
}
}
然后结束
}
这样做方法很臃肿而且代码阅读性很差看上去又很脏 请教大牛们是如何设计的 最后能提供下这几案例 谢谢