Class NpgsqlBatch
- Namespace
- Npgsql
- Assembly
- Npgsql.dll
public class NpgsqlBatch : DbBatch, IDisposable, IAsyncDisposable
- Inheritance
-
NpgsqlBatch
- Implements
- Inherited Members
Constructors
NpgsqlBatch(NpgsqlConnection?, NpgsqlTransaction?)
Initializes a new NpgsqlBatch.
public NpgsqlBatch(NpgsqlConnection? connection = null, NpgsqlTransaction? transaction = null)
Parameters
connection
NpgsqlConnectionA NpgsqlConnection that represents the connection to a PostgreSQL server.
transaction
NpgsqlTransactionThe NpgsqlTransaction in which the NpgsqlCommand executes.
Properties
BatchCommands
public NpgsqlBatchCommandCollection BatchCommands { get; }
Property Value
Connection
public NpgsqlConnection? Connection { get; set; }
Property Value
DbBatchCommands
protected override DbBatchCommandCollection DbBatchCommands { get; }
Property Value
DbConnection
protected override DbConnection? DbConnection { get; set; }
Property Value
DbTransaction
protected override DbTransaction? DbTransaction { get; set; }
Property Value
EnableErrorBarriers
Controls whether to place error barriers between all batch commands within this batch. Default to false.
public bool EnableErrorBarriers { get; set; }
Property Value
Remarks
By default, any exception in a command causes later commands in the batch to be skipped, and earlier commands to be rolled back. Enabling error barriers ensures that errors do not affect other commands in the batch.
Note that if the batch is executed within an explicit transaction, the first error places the transaction in a failed state, causing all later commands to fail in any case. As a result, this option is useful mainly when there is no explicit transaction.
At the PostgreSQL wire protocol level, this corresponds to inserting a Sync message between each command, rather than grouping all the batch's commands behind a single terminating Sync.
To control error barriers on a command-by-command basis, see AppendErrorBarrier.
Timeout
public override int Timeout { get; set; }
Property Value
Transaction
public NpgsqlTransaction? Transaction { get; set; }
Property Value
Methods
Cancel()
public override void Cancel()
CreateBatchCommand()
public NpgsqlBatchCommand CreateBatchCommand()
Returns
CreateDbBatchCommand()
protected override DbBatchCommand CreateDbBatchCommand()
Returns
Dispose()
public override void Dispose()
ExecuteDbDataReader(CommandBehavior)
protected override DbDataReader ExecuteDbDataReader(CommandBehavior behavior)
Parameters
behavior
CommandBehavior
Returns
ExecuteDbDataReaderAsync(CommandBehavior, CancellationToken)
protected override Task<DbDataReader> ExecuteDbDataReaderAsync(CommandBehavior behavior, CancellationToken cancellationToken)
Parameters
behavior
CommandBehaviorcancellationToken
CancellationToken
Returns
ExecuteNonQuery()
public override int ExecuteNonQuery()
Returns
ExecuteNonQueryAsync(CancellationToken)
public override Task<int> ExecuteNonQueryAsync(CancellationToken cancellationToken = default)
Parameters
cancellationToken
CancellationToken
Returns
ExecuteReader(CommandBehavior)
public NpgsqlDataReader ExecuteReader(CommandBehavior behavior = CommandBehavior.Default)
Parameters
behavior
CommandBehavior
Returns
ExecuteReaderAsync(CommandBehavior, CancellationToken)
public Task<NpgsqlDataReader> ExecuteReaderAsync(CommandBehavior behavior, CancellationToken cancellationToken = default)
Parameters
behavior
CommandBehaviorcancellationToken
CancellationToken
Returns
ExecuteReaderAsync(CancellationToken)
public Task<NpgsqlDataReader> ExecuteReaderAsync(CancellationToken cancellationToken = default)
Parameters
cancellationToken
CancellationToken
Returns
ExecuteScalar()
public override object? ExecuteScalar()
Returns
ExecuteScalarAsync(CancellationToken)
public override Task<object?> ExecuteScalarAsync(CancellationToken cancellationToken = default)
Parameters
cancellationToken
CancellationToken
Returns
Prepare()
public override void Prepare()
PrepareAsync(CancellationToken)
public override Task PrepareAsync(CancellationToken cancellationToken = default)
Parameters
cancellationToken
CancellationToken