UnitOfWork 中的事务处理
在 UnitOfWork + EF IRepository模式下,不能直接用TransactionScope处理事务,会报错,提示需要设置什么分布式事务管理器
UnitOfWork 已有关于事务的处理
关键代码
UnitOfWork.TransactionEnabled = true;//启用事务
// code...
UnitOfWork.SaveChanges(); // 提交保存到数据库,不执行是不会保存到数据库的
IUnitOfWork 接口
public interface IUnitOfWork : IDependency
{
bool TransactionEnabled { get; set; }
bool ProxyCreationEnabled { get; set; }
int ExecuteSqlCommand(TransactionalBehavior transactionalBehavior, string sql, params object[] parameters);
Task<int> ExecuteSqlCommandAsync(TransactionalBehavior transactionalBehavior, string sql, params object[] paramters);
int SaveChanges();
Task<int> SaveChangesAsync();
IEnumerable<TElement> SqlQuery<TE