.net中一个方法要对多张表进行增加修改操作的时候,中途某一操作报错了,那怎么返回之前表的操作?
比如我现在要增加一条产品记录在A表中,产品信息中有个产品编号和认证码,在添加的时候要把这两个码关联绑定在一起,并添加到B表中,然后认证码表中的认证码状态会改成已使用的状态...
比如我现在要增加一条产品记录在A表中,产品信息中有个产品编号和认证码,在添加的时候要把这两个码关联绑定在一起,并添加到B表中,然后认证码表中的认证码状态会改成已使用的状态!倘若在绑定的时候报错了,那么怎么取消之前在A表的数据插入?听说数据库的事务回滚可取消,但是要怎么写?
展开
2个回答
展开全部
这取决于你更新数据的方式,我是使用EF更新数据的
如果一次操作可能产生多条SQL语句,为防止中间部分SQL执行出错导致产生脏数据;会运用事务统一提交:
using (var dbContext = new DbContext())
using (var trans = dbContext.Database.BeginTransaction(System.Data.IsolationLevel.ReadCommitted))
{
//数据更新。。。
dbContext.SaveChanges();//使用EF更新数据时要有这条语句
trans.Commit();//这条语句表示提交事务
}
事务就是用来保持数据一致性的
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询