📄 mixtransactionbase.cs
字号:
#region Copyright & License
//
// $Copyright:$
//
#endregion
#region Document Information
// $Author: Bai.shijun $
// $Rev: $
// $Date: 05-10-08 16:13 $
#endregion
using System;
using System.Collections.Generic;
using System.Diagnostics;
namespace Eai.Data.Transaction
{
/// <summary>
/// MixTransaction base class。
/// </summary>
public abstract class MixTransactionBase : IMixTransaction
{
private DataAccessorGroup dataAccessors = new DataAccessorGroup();
protected DataAccessorGroup DataAccessors
{
get { return dataAccessors; }
}
#region IMixTransation Members
public abstract void Begin();
public abstract void Rollback();
public abstract void Commit();
public abstract bool SupportParallelTransactin
{
get;
}
public abstract void AttachDataAccessor(string name, IDataAccessor dataAccessor);
public virtual IDataAccessor GetDataAccessor(string name)
{
return dataAccessors.GetDataAccessor(name);
}
#endregion
public class DataAccessorGroup
{
private IList<IDataAccessor> daList = new List<IDataAccessor>();
private IDictionary<string, IDataAccessor> dataAccessors = new Dictionary<string, IDataAccessor>();
public IDataAccessor GetDataAccessor(string name)
{
if (!dataAccessors.ContainsKey(name)) return null;
return dataAccessors[name];
}
public void Add(string name, IDataAccessor dataAccessor)
{
dataAccessors.Add(name, dataAccessor);
daList.Add(dataAccessor);
}
public void Flush()
{
int n = daList.Count;
for (int i = 0; i < n; i++)
{
daList[i].Flush();
}
}
public void Close()
{
int n = daList.Count;
for (int i = 0; i < n; i++)
{
daList[i].Close();
}
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -