EF事务处理封装公用
/// <summary>
/// EF事务封装 公用类
/// </summary>
public class TransactionCommon
{
DbContextTransaction Transaction = null;
/// <summary>
/// 数据库连接
/// </summary>
private readonly DefaultDbContext _DbContext = new DefaultDbContext();
/// <summary>
/// 开始事务
/// </summary>
public void BeginTransaction()
{
if (Transaction == null)
{
_DbContext.Database.BeginTransaction();
}
}
/// <summary>
/// 提交一个事务
/// </summary>
/// <returns></returns>
public int Commit()
{
int result = 0;
if (Transaction == null)
{
result += _DbContext.SaveChanges();
DbContextTransaction transaction = _DbContext.Database.CurrentTransaction;
if (transaction != null)
{
transaction.Commit();
transaction.Dispose();
result += 1;
}
}
return result;
}
/// <summary>
/// 回滚一个事务
/// </summary>
public void Rollback()
{
if (Transaction == null)
{
DbContextTransaction transaction = _DbContext.Database.CurrentTransaction;
if (transaction != null)
{
transaction.Rollback();
transaction.Dispose();
}
}
else
{
throw new Exception("事务异常");
}
}
}