以下是扩展的方法
/// <summary>
/// 开始事物
/// </summary>
/// <param name="source"></param>
/// <returns></returns>
public static Boolean BeginTrans(this System.Data.Linq.DataContext source)
{
try
{
if (source.Connection.State == System.Data.ConnectionState.Closed)
{
source.Connection.Open();
}
source.Transaction = source.Connection.BeginTransaction();
return true;
}
catch (Exception)
{
return false;
}
}
/// <summary>
/// 提交事务
/// </summary>
/// <param name="source"></param>
public static void CommitTrans(this System.Data.Linq.DataContext source)
{
if (source.Transaction != null)
{
source.Transaction.Commit();
}
source.Connection.Close();
}
/// <summary>
/// 回滚事务
/// </summary>
/// <param name="source"></param>
public static void RollBackTrans(this System.Data.Linq.DataContext source)
{
if (source.Transaction != null)
{
source.Transaction.Rollback();
}
source.Connection.Close();
}