/// <summary> /// 指定された接続文字列でインスタンスを生成します。 /// </summary> /// <param name="connectionString">接続文字列</param> internal ConnectionSubstance(string connectionString) { this.count = 0; this.connectionString = connectionString; this.connection = new FbConnection(this.connectionString); this.transactionSubstance = null; this.disposed = false; }
/// <summary> /// 指定されたパラメタでインスタンスを生成します。 /// </summary> /// <param name="connectionSubstance">接続実体オブジェクト</param> internal Transaction(ConnectionSubstance connectionSubstance) { this.isOver = false; this.connectionSubstance = connectionSubstance; this.transactionSubstance = connectionSubstance.TransactionSubstance; this.disposed = false; this.transactionSubstance.BeginTransaction(); }
/// <summary> /// 指定されたパラメタでインスタンスを生成します。 /// </summary> /// <param name="commandText">SQL文</param> /// <param name="connectionSubstance">コネクションオブジェクト</param> /// <param name="transactionSubstance">トランザクションオブジェクト</param> internal Command(string commandText, ConnectionSubstance connectionSubstance, TransactionSubstance transactionSubstance) { this.fbCommand = new FbCommand(commandText, connectionSubstance.FbConnection, transactionSubstance.FbTransaction); this.parameters = new Dictionary<string, object>(); this.disposed = false; }
/// <summary> /// トランザクション実体クラスを削除します。 /// </summary> internal void ReleaseTransaction() { this.transactionSubstance = null; return; }
/// <summary> /// トランザクションを始めるため、トランザクションインスタンスを生成します。 /// </summary> /// <returns>トランザクションインスタンス</returns> internal Transaction BeginTransaction() { // リソース解放済みか判定 if (true == this.disposed) { throw new TypeUnloadedException("リソースが解放されています。"); } // 未だトランザクションが開始されていなければ、トランザクション実体インスタンスを生成 if (null == this.transactionSubstance) { this.transactionSubstance = new TransactionSubstance(this); } return new Transaction(this); }