/// <summary> /// Closes the connection to the database. Open transactions are rolled back. /// </summary> public override void Close() { if (this._db == null || this._db.ptr == IntPtr.Zero) return; SqliteTransaction transaction = this.Transaction; if (transaction != null) { // ISSUE: explicit non-virtual call transaction.Dispose() ; } this._db.Dispose(); this._db = (sqlite3)null; this.SetState(ConnectionState.Closed); }