Class SqlDatabaseExecutor
Inheritance
System.Object
SqlDatabaseExecutor
Assembly: EPiServer.Data.dll
Version: 12.0.3
Syntax
public class SqlDatabaseExecutor : Object, IAsyncDatabaseExecutor, IDatabaseExecutor
Constructors
SqlDatabaseExecutor(ContextCache, ConnectionStringOptions, Int32, TimeSpan, TimeSpan)
Declaration
public SqlDatabaseExecutor(ContextCache contextCache, ConnectionStringOptions connectionStringSettings, int retries, TimeSpan retryDelay, TimeSpan databaseQueryTimeout)
Parameters
Type |
Name |
Description |
ContextCache |
contextCache |
The context cache to use
|
ConnectionStringOptions |
connectionStringSettings |
Settings containing the connection string used
|
System.Int32 |
retries |
The number of retries, 0 means no retries
|
System.TimeSpan |
retryDelay |
The delay between each retry
|
System.TimeSpan |
databaseQueryTimeout |
The timeout for executing commands
|
Properties
Connection
Declaration
public virtual DbConnection Connection { get; }
Property Value
Type |
Description |
System.Data.Common.DbConnection |
|
ConnectionStringOption
The connection settings containing the connection string
Declaration
public virtual ConnectionStringOptions ConnectionStringOption { get; }
Property Value
DatabaseQueryTimeout
The timeout for command objects created by this classes
Declaration
public TimeSpan DatabaseQueryTimeout { get; set; }
Property Value
Type |
Description |
System.TimeSpan |
|
DbFactory
Underlying factory used to create data access objects
Declaration
public virtual DbProviderFactory DbFactory { get; }
Property Value
Type |
Description |
System.Data.Common.DbProviderFactory |
|
IsInTransaction
Declaration
public virtual bool IsInTransaction { get; }
Property Value
Type |
Description |
System.Boolean |
|
Transaction
The current transaction if one exist
Declaration
public DbTransaction Transaction { get; }
Property Value
Type |
Description |
System.Data.Common.DbTransaction |
|
Methods
AcquireLock(String)
Acquires an exclusive lock for specified resource
Declaration
protected virtual void AcquireLock(string resourceName)
Parameters
Type |
Name |
Description |
System.String |
resourceName |
Name of the resource.
|
Exceptions
Type |
Condition |
System.InvalidOperationException |
Exception is thrown if operation was failed.
|
AssertThreadSafe()
Asserts that the call was made from the same thread as the databasehandler object was instantiated in.
Declaration
protected virtual void AssertThreadSafe()
CreateCommand()
Declaration
public virtual DbCommand CreateCommand()
Returns
Type |
Description |
System.Data.Common.DbCommand |
|
CreateCommand(String, CommandType, Object[])
Declaration
public virtual DbCommand CreateCommand(string commandText, CommandType commandType, params object[] parameterValues)
Parameters
Type |
Name |
Description |
System.String |
commandText |
|
System.Data.CommandType |
commandType |
|
System.Object[] |
parameterValues |
|
Returns
Type |
Description |
System.Data.Common.DbCommand |
|
CreateConnection()
Declaration
public virtual DbConnection CreateConnection()
Returns
Type |
Description |
System.Data.Common.DbConnection |
|
CreateParametersAndSetValues(DbCommand, Object[])
Automatically populates the parameters collection of the command and assigns the provided parameter values
Declaration
public static void CreateParametersAndSetValues(DbCommand command, object[] parameterValues)
Parameters
Type |
Name |
Description |
System.Data.Common.DbCommand |
command |
The command to create a parameters collection for
|
System.Object[] |
parameterValues |
The parameter values to assign to the parameter collection of the command
|
Remarks
Execute(Action)
Declaration
public virtual void Execute(Action action)
Parameters
Type |
Name |
Description |
System.Action |
action |
|
Execute<TResult>(Func<TResult>)
Declaration
public virtual TResult Execute<TResult>(Func<TResult> action)
Parameters
Type |
Name |
Description |
System.Func<TResult> |
action |
|
Returns
Type Parameters
ExecuteAsync(Func<Task>)
Declaration
public virtual Task ExecuteAsync(Func<Task> action)
Parameters
Type |
Name |
Description |
System.Func<System.Threading.Tasks.Task> |
action |
|
Returns
Type |
Description |
System.Threading.Tasks.Task |
|
ExecuteAsync<TResult>(Func<Task<TResult>>)
Declaration
public virtual Task<TResult> ExecuteAsync<TResult>(Func<Task<TResult>> action)
Parameters
Type |
Name |
Description |
System.Func<System.Threading.Tasks.Task<TResult>> |
action |
|
Returns
Type |
Description |
System.Threading.Tasks.Task<TResult> |
|
Type Parameters
ExecuteLocked(String, Action)
Declaration
public virtual void ExecuteLocked(string resourceName, Action action)
Parameters
Type |
Name |
Description |
System.String |
resourceName |
|
System.Action |
action |
|
ExecuteLocked<TResult>(String, Func<TResult>)
Declaration
public virtual TResult ExecuteLocked<TResult>(string resourceName, Func<TResult> action)
Parameters
Type |
Name |
Description |
System.String |
resourceName |
|
System.Func<TResult> |
action |
|
Returns
Type Parameters
ExecuteTransaction(Action)
Declaration
public virtual void ExecuteTransaction(Action action)
Parameters
Type |
Name |
Description |
System.Action |
action |
|
ExecuteTransaction<TResult>(Func<TResult>)
Declaration
public virtual TResult ExecuteTransaction<TResult>(Func<TResult> action)
Parameters
Type |
Name |
Description |
System.Func<TResult> |
action |
|
Returns
Type Parameters
ExecuteTransactionAsync(Func<Task>)
Declaration
public virtual Task ExecuteTransactionAsync(Func<Task> action)
Parameters
Type |
Name |
Description |
System.Func<System.Threading.Tasks.Task> |
action |
|
Returns
Type |
Description |
System.Threading.Tasks.Task |
|
ExecuteTransactionAsync<TResult>(Func<Task<TResult>>)
Declaration
public virtual Task<TResult> ExecuteTransactionAsync<TResult>(Func<Task<TResult>> action)
Parameters
Type |
Name |
Description |
System.Func<System.Threading.Tasks.Task<TResult>> |
action |
|
Returns
Type |
Description |
System.Threading.Tasks.Task<TResult> |
|
Type Parameters
GetAsyncConnection(Boolean)
Declaration
public virtual Task<IAsyncConnectionScope> GetAsyncConnection(bool requireTransaction)
Parameters
Type |
Name |
Description |
System.Boolean |
requireTransaction |
|
Returns
GetConnection(Boolean)
Declaration
public virtual IConnectionScope GetConnection(bool requireTransaction)
Parameters
Type |
Name |
Description |
System.Boolean |
requireTransaction |
|
Returns
GetLockOwner()
Gets the lock owner depending on current scope.
Declaration
protected virtual string GetLockOwner()
Returns
Type |
Description |
System.String |
Transaction if executed in transaction or Session if there is no active transaction at the moment.
|
GetProviderSpecificParameterName(String)
Declaration
public virtual string GetProviderSpecificParameterName(string name)
Parameters
Type |
Name |
Description |
System.String |
name |
|
Returns
Type |
Description |
System.String |
|
ReleaseLock(String)
Releases the lock for specified resource.
Declaration
protected virtual void ReleaseLock(string resourceName)
Parameters
Type |
Name |
Description |
System.String |
resourceName |
Name of the resource.
|
Exceptions
Type |
Condition |
System.InvalidOperationException |
Exception is thrown if operation was failed.
|
SetExternalTransaction(DbTransaction)
Declaration
public virtual void SetExternalTransaction(DbTransaction transaction)
Parameters
Type |
Name |
Description |
System.Data.Common.DbTransaction |
transaction |
|
Implements
Extension Methods