使用EF,当使用事物时, SaveChanges()返回了1,但是数据库没有增加任何数据;去掉事物时,却反而添加成功了,why?????

weixin_38050219 2016-05-17 01:15:25
  public static int AddTeacherAndUser(Teacher teacher, int[] Roles)
        {
            int rows = -1;
            teacher.IsDelete = 0;
            teacher.CreateTime = DateTime.Now;
            teacher.UpdateTime = DateTime.Now;
            #region 构造用户信息
            UserInfo user = new UserInfo
                  {
                      UserCode = teacher.Code,
                  };
            user.UserPwd = MD5Helper.EncryptByMD5(MD5Helper.MD5Head_CIDP + teacher.Code);
            if (Roles != null)
            {
                user.Role = string.Join(",", Roles);
            }
            else
            {
                user.Role = "";
            }
            #endregion
            using (TransactionScope scope = new TransactionScope())//启用事务
            {
                using (LeaveEntities db = new LeaveEntities())
                {

                    try
                    {
                        db.Teacher.Add(teacher);
                        db.UserInfo.Add(user);
                        rows = db.SaveChanges();
                    }
                    catch (Exception)
                    {
                        scope.Dispose();
                        //throw;
                    }
                }
            }
            return rows;
        }

我擦,很诡异有木有~
...全文
14 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复

476

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧