Class PersistentDatabase
public abstract class PersistentDatabase : IDatabase, IDisposable
- Inheritance
-
PersistentDatabase
- Implements
- Inherited Members
- Extension Methods
Constructors
PersistentDatabase(string, TimeSpan?)
public PersistentDatabase(string connectionString, TimeSpan? timeout = null)
Parameters
Properties
Name
public string Name { get; }
Property Value
Server
public string Server { get; }
Property Value
SupportsBatching
public abstract bool SupportsBatching { get; }
Property Value
Methods
Batch(IEnumerable<BatchQuery>, TimeSpan?)
Execute multiple queries
public void Batch(IEnumerable<BatchQuery> queries, TimeSpan? timeout = null)
Parameters
queriesIEnumerable<BatchQuery>timeoutTimeSpan?
BatchAsync(IEnumerable<BatchQuery>, TimeSpan?, CancellationToken)
Execute multiple queries asynchronously
public Task BatchAsync(IEnumerable<BatchQuery> queries, TimeSpan? timeout = null, CancellationToken ct = default)
Parameters
queriesIEnumerable<BatchQuery>timeoutTimeSpan?ctCancellationToken
Returns
BulkExecute(string, TimeSpan?, IReadOnlyList<DbParameter[]>)
Execute a command repeatedly
public virtual int BulkExecute(string commandText, TimeSpan? timeout, IReadOnlyList<DbParameter[]> parameterSets)
Parameters
commandTextstringtimeoutTimeSpan?parameterSetsIReadOnlyList<DbParameter[]>
Returns
- int
Affected row count
BulkExecuteAsync(string, TimeSpan?, CancellationToken, IReadOnlyList<DbParameter[]>)
Execute a command repeatedly, asynchronously
public virtual Task<int> BulkExecuteAsync(string commandText, TimeSpan? timeout, CancellationToken cancellationToken, IReadOnlyList<DbParameter[]> parameterSets)
Parameters
commandTextstringtimeoutTimeSpan?cancellationTokenCancellationTokenparameterSetsIReadOnlyList<DbParameter[]>
Returns
CreateConnection(string)
protected abstract DbConnection CreateConnection(string connectionString)
Parameters
connectionStringstring
Returns
Dispose()
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
public void Dispose()
Execute(string, TimeSpan?, params DbParameter[])
Execute a command
public virtual int Execute(string commandText, TimeSpan? timeout, params DbParameter[] parameters)
Parameters
commandTextstringtimeoutTimeSpan?parametersDbParameter[]
Returns
- int
Affected row count
ExecuteAsync(string, TimeSpan?, CancellationToken, params DbParameter[])
Execute a command asynchronously
public virtual Task<int> ExecuteAsync(string commandText, TimeSpan? timeout, CancellationToken cancellationToken, params DbParameter[] parameters)
Parameters
commandTextstringtimeoutTimeSpan?cancellationTokenCancellationTokenparametersDbParameter[]
Returns
GetTransaction()
Begin a sequence of commands and queries wrapped in a transaction
public virtual ITransaction GetTransaction()
Returns
QueryAsync<TResult>(string, TimeSpan?, CancellationToken, CommandBehavior, Func<DbDataReader, TResult>, params DbParameter[])
Execute a query asynchronously
public virtual Task<TResult> QueryAsync<TResult>(string queryText, TimeSpan? timeout, CancellationToken cancellationToken, CommandBehavior behaviour, Func<DbDataReader, TResult> map, params DbParameter[] parameters)
Parameters
queryTextstringtimeoutTimeSpan?cancellationTokenCancellationTokenbehaviourCommandBehaviormapFunc<DbDataReader, TResult>parametersDbParameter[]
Returns
- Task<TResult>
Query results
Type Parameters
TResult
Query<TResult>(string, TimeSpan?, CommandBehavior, Func<DbDataReader, TResult>, params DbParameter[])
Execute a query
public virtual TResult Query<TResult>(string queryText, TimeSpan? timeout, CommandBehavior behaviour, Func<DbDataReader, TResult> map, params DbParameter[] parameters)
Parameters
queryTextstringtimeoutTimeSpan?behaviourCommandBehaviormapFunc<DbDataReader, TResult>parametersDbParameter[]
Returns
- TResult
Query results
Type Parameters
TResult
Stream(string, TimeSpan?, Func<DbDataReader, Stream>, params DbParameter[])
Execute a query which returns a forward-only stream, asynchronously
public virtual Stream Stream(string queryText, TimeSpan? timeout, Func<DbDataReader, Stream> map, params DbParameter[] parameters)
Parameters
queryTextstringtimeoutTimeSpan?mapFunc<DbDataReader, Stream>parametersDbParameter[]
Returns
StreamAsync(string, TimeSpan?, CancellationToken, Func<DbDataReader, Stream?>, params DbParameter[])
Execute a query which returns a forward-only stream, asynchronously
public virtual Task<Stream> StreamAsync(string queryText, TimeSpan? timeout, CancellationToken cancellationToken, Func<DbDataReader, Stream?> map, params DbParameter[] parameters)
Parameters
queryTextstringtimeoutTimeSpan?cancellationTokenCancellationTokenmapFunc<DbDataReader, Stream>parametersDbParameter[]
Returns
Stream<TResult>(string, TimeSpan?, Func<IDataRecord, TResult>, params DbParameter[])
Produce a forward-only enumerable which will execute a query
public virtual IEnumerable<TResult> Stream<TResult>(string queryText, TimeSpan? timeout, Func<IDataRecord, TResult> map, params DbParameter[] parameters)
Parameters
queryTextstringtimeoutTimeSpan?mapFunc<IDataRecord, TResult>parametersDbParameter[]
Returns
- IEnumerable<TResult>
Query results
Type Parameters
TResult