1.带事务连接

  Database db = DatabaseFactory.CreateDatabase();
  using (DbConnection Conn = db.CreateConnection())
  {
     if (Conn.State != ConnectionState.Open)
     {
	Conn.Open();
     }
     DbTransaction Tran = Conn.BeginTransaction();//默认2级
     try
     {
	strSql = "select * from test where dTypeID=@dTypeID";
	DbCommand dbCommand = db.GetSqlStringCommand(strSql.ToString());
	db.AddInParameter(dbCommand, "dTypeID", DbType.Int32, dTypeID
	db.ExecuteScalar(dbCommand, dbTran);
	Tran.Commit();
      } 
      catch (Exception ex)
      { 
	Tran.Rollback();
      } 
  }
  
2.企业库的事务级别
默认2级,以最后一次设置的级别为当前执行级别。若有nolock则按最低级执行
例如:若上次执行的事务级别设置成1级,则当前无事务查询就会变成1级
 
Database db = DatabaseFactory.CreateDatabase("mssqlConnectionString");
using (DbConnection connection = db.CreateConnection())
{
  connection.Open();
  DbTransaction transaction = connection.BeginTransaction(IsolationLevel.ReadUncommitted);//1级最低级
  StringBuilder strSql = new StringBuilder();
  strSql.Append(" select BuyAmount from UnionLottoMergeDetail  ");
  DbCommand dbCommand = db.GetSqlStringCommand(strSql.ToString()); 
  DataSet ds = db.ExecuteDataSet(dbCommand, transaction); 
  transaction.Commit();
  this.dataGridView1.DataSource = ds.Tables[0].DefaultView;
}
//若不设置事务等级,则会按上次使用时设置的等级执行
            this.dataGridView2.DataSource = null; 
            Database db = DatabaseFactory.CreateDatabase("mssqlConnectionString");
            StringBuilder strSql = new StringBuilder();
            strSql.Append(" select BuyAmount from UnionLottoMergeDetail  ");
            DbCommand dbCommand = db.GetSqlStringCommand(strSql.ToString());
            DataSet ds = db.ExecuteDataSet(dbCommand);
            this.dataGridView2.DataSource = ds.Tables[0].DefaultView;

出自:http://www.xuebuyuan.com/1422950.html