private void Init(DataAccess.DataSource dataSourceId, bool readOnly, DataAccessHint hint) { //lock ( FlashCard.Lock ) { Log.Trace("Thread=" + Thread.CurrentThread.Name + " Mutex.WaitOne"); DataAccess.Mutex.WaitOne(); try { DataAccess.CheckStarted(); _con = DataAccess.GetConnection(dataSourceId, readOnly); if (!readOnly) { _trx = _con.BeginTransaction(); } } catch (Exception e) { Log.Trace("Thread=" + Thread.CurrentThread.Name + " Mutex.ReleaseMutex"); DataAccess.Mutex.ReleaseMutex(); Log.Error("Error instantiating DataAccessTransaction", e); throw; } } DataSourceId = dataSourceId; ReadOnly = readOnly; Hint = hint; }
/// <summary> /// /// </summary> /// <param name="readOnly"></param> public DataAccessTransaction(DataAccessHint hint) { Init(DataAccess.DataSource.iNetData, false, hint); }