最近在做接口时发现,在一些特殊业务处理下,很少有人用到事务的处理,特别是在批量操作不同表的时候,表之间存在着关联,一个不小心就会引起表数据的错乱,特意去看了下ABP框架中对事务的简单处理
以下附上一段编码作为备忘
IUnitOfWorkManager _unitOfWorkManager;
using (var unitOfWork = _unitOfWorkManager.Begin()) //启用工作单元 { try { foreach (var input in inputs) { var model = input.MapTo<Model>(); model.Type = dic.Where(x => x.Key == model.Type).First().Value; var tmp = _repository.Update(model); } unitOfWork.Complete(); //提交事务 } catch (Exception ex) { builder.AppendLine(ex.Message); } }