private Task<SQLiteTestDatabase> CreateShared() { _connection.Open(); _transaction = _connection.BeginTransaction(); return Task.FromResult(this); }
private static void PrepareCommand( SQLiteCommand command, SQLiteConnection connection, SQLiteTransaction transaction, CommandType commandType, string commandText, DbParameter[] commandParameters) { if (command == null) throw new ArgumentNullException("command"); if (string.IsNullOrEmpty(commandText)) throw new ArgumentNullException("commandText"); command.CommandType = commandType; command.CommandText = commandText; command.Connection = connection; if (transaction != null) { if (transaction.Connection == null) throw new ArgumentException("The transaction was rollbacked or commited, please provide an open transaction.", "transaction"); command.Transaction = transaction; } if (commandParameters != null) { AttachParameters(command, commandParameters); } }
public new SQLiteTransaction BeginTransaction(IsolationLevel isolationLevel) { if (_state != ConnectionState.Open) { throw new InvalidOperationException(Strings.FormatCallRequiresOpenConnection("BeginTransaction")); } if (Transaction != null) { throw new InvalidOperationException(Strings.ParallelTransactionsNotSupported); } return Transaction = new SQLiteTransaction(this, isolationLevel); }
public static int ExecuteNonQuery( SQLiteTransaction transaction, CommandType commandType, string commandText, int commandTimeout, params DbParameter[] commandParameters) { if (transaction == null) throw new ArgumentNullException("transaction"); if (transaction != null && transaction.Connection == null) throw new ArgumentException("The transaction was rollbacked or commited, please provide an open transaction.", "transaction"); var factory = GetFactory(); using (SQLiteCommand command = factory.CreateCommand()) { PrepareCommand( command, transaction.Connection, transaction, commandType, commandText, commandParameters); command.CommandTimeout = commandTimeout; return command.ExecuteNonQuery(); } }
public static int ExecuteNonQuery( SQLiteTransaction transaction, CommandType commandType, string commandText, params DbParameter[] commandParameters) { int commandTimeout = 30; //30 seconds default return ExecuteNonQuery(transaction, commandType, commandText, commandTimeout, commandParameters); }