using System; using System.Collections.Generic; using System.Data; using System.Data.Common; namespace FreeSql { /// /// 工作单元 /// public interface IUnitOfWork : IDisposable { /// /// 开启事务,或者返回已开启的事务 /// /// 若未开启事务,则开启 /// DbTransaction GetOrBeginTransaction(bool isCreate = true); IsolationLevel? IsolationLevel { get; set; } void Commit(); void Rollback(); /// /// 是否启用工作单元 /// [Obsolete("即将删除(保留到2020-08-01),请改用 UnitOfWorkManager 的方式管理事务 https://github.com/dotnetcore/FreeSql/issues/289")] bool Enable { get; } /// /// 禁用工作单元 /// /// /// 若已开启事务(已有Insert/Update/Delete操作),调用此方法将发生异常,建议在执行逻辑前调用 /// [Obsolete("即将删除(保留到2020-08-01),请改用 UnitOfWorkManager 的方式管理事务 https://github.com/dotnetcore/FreeSql/issues/289")] void Close(); /// /// 开启工作单元 /// [Obsolete("即将删除(保留到2020-08-01),请改用 UnitOfWorkManager 的方式管理事务 https://github.com/dotnetcore/FreeSql/issues/289")] void Open(); /// /// 工作单元内的实体变化跟踪 /// DbContext.EntityChangeReport EntityChangeReport { get; } } }