当前位置:Gxlcms > 数据库问题 > NHibernet 事务 修改操作,事务没提交,数据库数据却同步(修改)了

NHibernet 事务 修改操作,事务没提交,数据库数据却同步(修改)了

时间:2021-07-01 10:21:17 帮助过:24人阅读

bool UpdateTrainPlanAndPro(TrainPlan trainPlan,List<Pro> pros) { ISession ss = NHibernateHelper.FrameworkDataProvider.Instance.GetSession(); ITransaction trans = null; using (trans = ss.BeginTransaction()) { try { ss.Update(trainPlan); var proList = Session.CreateCriteria<Pro>().Add(Expression.Eq("TId", trainPlan.Id)).List<Pro>(); Session.Clear(); foreach (var item in proList) { item.StudyHours = trainPlan.TrainHours; item.WorkTypeId = trainPlan.WorkId; ss.Update(item); } trans.Commit(); return true; } catch (Exception e) { trans.Rollback(); return false; } finally { trans.Dispose(); } } }

如果不添加标红语句,事务期间抛出异常,数据库的数据仍会修改

 

NHibernet 事务 修改操作,事务没提交,数据库数据却同步(修改)了

标签:res   nan   查询   bool   on()   framework   provider   解决方法   type   

人气教程排行