1、修正个人信息修改（会员和专家）页面配套的代码，之前的代码会把默认的角色给抹掉。

2、在数据库中，将FK_PhyExamReser_SystemUser_DeployerId的强制外键约束改成False，否则无法正常删除SystemUser表中的关联记录。
3、删除数据库中原先的日志表（ConLog），这个没有注意，之前竟然未删除掉。
4、将SystemUser.hbm.xml文件中和UserRoleList的关联关系cascade出错，否则删除Consumer记录时会级联删除SystemUser，而SystemUser和UserRoleList的cascade配置会使这种删除出错。
5、将Consuemr.hbm.xml和HospitalExpert.hbm.xml中和SystemUser的关系全部修改为：    <one-to-one name="UserRef" cascade="all" class="SystemUser" lazy="false" constrained="true"/>。
6、上面一条的修改将使Consumer表和HospitalExpert表中UserId字段成为累赘，但因为程序中有未知的地方用了相应的UserId字段，我还是暂时对这个字段进行了保存，并在添加操作时进行了赋值操作。
7、将Consumer表及HospitalExpert表和SystemUser表的外键约束由userId对userId，改成Consumer表的主键对SystemUser表的主键、HospitalExpert表的主键对SystemUser表的主键。
8、修改Consumer添加记录代码及初始化会员卡的第一个用户部分的代码，及HospitalExpert的添加记录代码。
            Consumer consumer = new Consumer();
            consumer.UserId = user.UserId;
            consumer.UserRef = user;
            ResultModel result = ConsumerBll.Insert(consumer);
========================================================================
            if (!String.IsNullOrEmpty(sectOffId))
                hospitalExpert.SectOffId = sectOffId;
            hospitalExpert.UserId = user.UserId;
            hospitalExpert.UserRef = user;
9、对于Consumer和SystemUser间的关系及HospitalExpert和SystemUser间的关系重新定义后（one-to-one），无需向Consumer及HospitalExpert的主键赋值了，Hibernate会自动将SystemUser的主键赋值给二者的主键字段。
10、第一条中的修改其实是有问题，如果采用这种方式修改（如下），那么修改个人信息没问题了，但系统管理部分的修改用户信息就不行了，修改角色时因为没有清空之前的角色列表，而是在此基础上添加，就很可能紊乱。
            if (user.RoleList.Count == 0)
                user.RoleList = new List<Role>();
11、我采用了另外一种方式，在修改个人信息时还是把角色列表提取出来，但隐藏下不显示给用户，这样用户就没办法修改，表单照样提交。当然，这不安全，而且也不是最好的解决方式。
12、第11种的方式依然有问题，因为角色的显示是异步的，如果用户操作过快，角色还未加载完就提交修改了，依然麻烦，我在表单中加入了个元素做为后台修改方法的判断参数：<input id="textIfPersonalEdit" name="textIfPersonalEdit" enableset="false" value="true" type="text" class="hidden" size="35" />
13、把医院专家的添加及修改函数中必须包含医院专家角色的代码去掉了，因为管理员不需要专家角色的。当然，这里去掉后对普通专家信息的添加修改操作控制的就不严谨了，需要重构代码用更好的方式解决这个总理。
14、如果所管理员有专家角色，那在安排会诊页面中就无法看到列表数据了，因为系统认为当前用户是专家，只显示安排此专家会诊的预约请求。这里做了更改，如果是管理员，那就会显示所有会诊请求列表，其实就是在程序中的if else if列表中改一下判断角色的顺序。
15、发布新版本的数据库及网站到服务器。