Class QueryProvider
Provider, which know execute query.
Inheritance
System.Object
QueryProvider
Assembly: Kros.KORM.dll
Syntax
public abstract class QueryProvider : IQueryProvider, IQueryProvider, IDisposable
Constructors
Declaration
public QueryProvider(KormConnectionSettings connectionSettings, ISqlExpressionVisitorFactory sqlGeneratorFactory, IModelBuilder modelBuilder, ILogger logger, IDatabaseMapper databaseMapper)
Parameters
Declaration
public QueryProvider(DbConnection externalConnection, ISqlExpressionVisitorFactory sqlGeneratorFactory, IModelBuilder modelBuilder, ILogger logger, IDatabaseMapper databaseMapper)
Parameters
Properties
Connection
Vráti spojenie na databázu s ktorou trieda pracuje. Ak trieda bola vytvorená iba so zadaným
connection string-om, je vytvorené nové spojenie.
Declaration
protected DbConnection Connection { get; }
Property Value
Type |
Description |
System.Data.Common.DbConnection |
|
ConnectionString
Declaration
protected string ConnectionString { get; }
Property Value
Type |
Description |
System.String |
|
DbProviderFactory
Declaration
public abstract DbProviderFactory DbProviderFactory { get; }
Property Value
Type |
Description |
System.Data.Common.DbProviderFactory |
|
IsExternalConnection
Vráti, či spojenie na databázu je externé, tzn. či bolo explicitne zadané zvonka v konštruktore.
Ak bolo spojenie zadané explicitne, vráti true, ak bol v konštruktore zadaný iba connection
string a spojenie je vytvorené interne, vráti false.
Declaration
protected bool IsExternalConnection { get; }
Property Value
Type |
Description |
System.Boolean |
|
Methods
BeginTransaction(IsolationLevel)
Declaration
public ITransaction BeginTransaction(IsolationLevel isolationLevel)
Parameters
Type |
Name |
Description |
System.Data.IsolationLevel |
isolationLevel |
|
Returns
CreateBulkInsert()
Creates instance of Kros.Data.BulkActions.IBulkInsert.
Declaration
public abstract IBulkInsert CreateBulkInsert()
Returns
Type |
Description |
Kros.Data.BulkActions.IBulkInsert |
Instance of Kros.Data.BulkActions.IBulkInsert.
|
CreateBulkUpdate()
Creates instance of Kros.Data.BulkActions.IBulkUpdate.
Declaration
public abstract IBulkUpdate CreateBulkUpdate()
Returns
Type |
Description |
Kros.Data.BulkActions.IBulkUpdate |
Instance of Kros.Data.BulkActions.IBulkUpdate.
|
CreateIdGenerator(String, Int32)
Declaration
public IIdGenerator CreateIdGenerator(string tableName, int batchSize)
Parameters
Type |
Name |
Description |
System.String |
tableName |
|
System.Int32 |
batchSize |
|
Returns
Type |
Description |
Kros.Data.IIdGenerator |
|
CreateQuery(Expression)
Declaration
public IQueryable CreateQuery(Expression expression)
Parameters
Type |
Name |
Description |
System.Linq.Expressions.Expression |
expression |
An expression tree that represents a LINQ query.
|
Returns
Type |
Description |
System.Linq.IQueryable |
|
Exceptions
Type |
Condition |
System.NotImplementedException |
|
CreateQuery<TElement>(Expression)
Constructs an System.Linq.IQueryable<T> object that can evaluate the query represented by a specified expression tree.
Declaration
public IQueryable<TElement> CreateQuery<TElement>(Expression expression)
Parameters
Type |
Name |
Description |
System.Linq.Expressions.Expression |
expression |
An expression tree that represents a LINQ query.
|
Returns
Type |
Description |
System.Linq.IQueryable<TElement> |
An System.Linq.IQueryable<T> that can evaluate the query represented by the specified expression tree.
|
Type Parameters
Name |
Description |
TElement |
The type of the elements of the System.Linq.IQueryable<T> that is returned.
|
Dispose()
Declaration
Dispose(Boolean)
Declaration
protected virtual void Dispose(bool disposing)
Parameters
Type |
Name |
Description |
System.Boolean |
disposing |
|
Execute(Expression)
Executing non generic result is not actualy supported.
Declaration
public object Execute(Expression expression)
Parameters
Type |
Name |
Description |
System.Linq.Expressions.Expression |
expression |
An expression tree that represents a LINQ query.
|
Returns
Type |
Description |
System.Object |
|
Exceptions
Type |
Condition |
System.NotImplementedException |
|
Execute<T>(IQuery<T>)
Executes the specified query.
Declaration
public virtual IEnumerable<T> Execute<T>(IQuery<T> query)
Parameters
Type |
Name |
Description |
IQuery<T> |
query |
The query.
|
Returns
Type |
Description |
System.Collections.Generic.IEnumerable<T> |
IEnumerable of models, which was materialized by query
|
Type Parameters
Name |
Description |
T |
Type of model result.
|
Exceptions
Type |
Condition |
System.ArgumentNullException |
If query is null.
|
Execute<TResult>(Expression)
Executes the strongly-typed query represented by a specified expression tree.
Declaration
public TResult Execute<TResult>(Expression expression)
Parameters
Type |
Name |
Description |
System.Linq.Expressions.Expression |
expression |
An expression tree that represents a LINQ query.
|
Returns
Type |
Description |
TResult |
The value that results from executing the specified query.
|
Type Parameters
Name |
Description |
TResult |
The type of the value that results from executing the query.
|
ExecuteInTransactionAsync(Func<Task>)
Declaration
public Task ExecuteInTransactionAsync(Func<Task> action)
Parameters
Type |
Name |
Description |
System.Func<System.Threading.Tasks.Task> |
action |
|
Returns
Type |
Description |
System.Threading.Tasks.Task |
|
ExecuteNonQuery(String)
Declaration
public int ExecuteNonQuery(string query)
Parameters
Type |
Name |
Description |
System.String |
query |
|
Returns
Type |
Description |
System.Int32 |
|
ExecuteNonQuery(String, CommandParameterCollection)
Declaration
public int ExecuteNonQuery(string query, CommandParameterCollection parameters)
Parameters
Returns
Type |
Description |
System.Int32 |
|
ExecuteNonQueryAsync(String, CommandParameterCollection, CancellationToken)
Declaration
public Task<int> ExecuteNonQueryAsync(string query, CommandParameterCollection parameters, CancellationToken cancellationToken = default(CancellationToken))
Parameters
Type |
Name |
Description |
System.String |
query |
|
CommandParameterCollection |
parameters |
|
System.Threading.CancellationToken |
cancellationToken |
|
Returns
Type |
Description |
System.Threading.Tasks.Task<System.Int32> |
|
ExecuteNonQueryAsync(String, CancellationToken)
Declaration
public Task<int> ExecuteNonQueryAsync(string query, CancellationToken cancellationToken = default(CancellationToken))
Parameters
Type |
Name |
Description |
System.String |
query |
|
System.Threading.CancellationToken |
cancellationToken |
|
Returns
Type |
Description |
System.Threading.Tasks.Task<System.Int32> |
|
ExecuteNonQueryAsync(String, CancellationToken, Object[])
Declaration
public Task<int> ExecuteNonQueryAsync(string query, CancellationToken cancellationToken = default(CancellationToken), params object[] paramValues)
Parameters
Type |
Name |
Description |
System.String |
query |
|
System.Threading.CancellationToken |
cancellationToken |
|
System.Object[] |
paramValues |
|
Returns
Type |
Description |
System.Threading.Tasks.Task<System.Int32> |
|
ExecuteNonQueryCommand(IDbCommand)
Declaration
public int ExecuteNonQueryCommand(IDbCommand command)
Parameters
Type |
Name |
Description |
System.Data.IDbCommand |
command |
The command.
|
Returns
Type |
Description |
System.Int32 |
|
Exceptions
Type |
Condition |
System.NotImplementedException |
|
ExecuteNonQueryCommandAsync(DbCommand, CancellationToken)
Declaration
public Task<int> ExecuteNonQueryCommandAsync(DbCommand command, CancellationToken cancellationToken = default(CancellationToken))
Parameters
Type |
Name |
Description |
System.Data.Common.DbCommand |
command |
|
System.Threading.CancellationToken |
cancellationToken |
|
Returns
Type |
Description |
System.Threading.Tasks.Task<System.Int32> |
|
ExecuteScalar<T>(IQuery<T>)
Executes the query, and returns the first column of the first row in the result set returned by the query.
Additional columns or rows are ignored.
Declaration
public object ExecuteScalar<T>(IQuery<T> query)
Parameters
Type |
Name |
Description |
IQuery<T> |
query |
The query.
|
Returns
Type |
Description |
System.Object |
The first column of the first row in the result set, or null if the result set is empty.
Returns a maximum of 2033 characters.
|
Type Parameters
Name |
Description |
T |
Type of model.
|
Exceptions
Type |
Condition |
System.ArgumentNullException |
If query is null.
|
ExecuteScalarCommand(IDbCommand)
Declaration
public object ExecuteScalarCommand(IDbCommand command)
Parameters
Type |
Name |
Description |
System.Data.IDbCommand |
command |
|
Returns
Type |
Description |
System.Object |
|
ExecuteScalarCommandAsync(DbCommand, CancellationToken)
Declaration
public Task<object> ExecuteScalarCommandAsync(DbCommand command, CancellationToken cancellationToken = default(CancellationToken))
Parameters
Type |
Name |
Description |
System.Data.Common.DbCommand |
command |
|
System.Threading.CancellationToken |
cancellationToken |
|
Returns
Type |
Description |
System.Threading.Tasks.Task<System.Object> |
|
ExecuteStoredProcedure<TResult>(String)
Declaration
public TResult ExecuteStoredProcedure<TResult>(string storedProcedureName)
Parameters
Type |
Name |
Description |
System.String |
storedProcedureName |
|
Returns
Type Parameters
ExecuteStoredProcedure<TResult>(String, CommandParameterCollection)
Declaration
public TResult ExecuteStoredProcedure<TResult>(string storedProcedureName, CommandParameterCollection parameters)
Parameters
Returns
Type Parameters
GetCommandForCurrentTransaction()
Declaration
public DbCommand GetCommandForCurrentTransaction()
Returns
Type |
Description |
System.Data.Common.DbCommand |
Inicializovaný príkaz.
|
GetCurrentTransaction()
Gets current the transaction.
Declaration
protected DbTransaction GetCurrentTransaction()
Returns
Type |
Description |
System.Data.Common.DbTransaction |
Current transaction if is opened; otherwise null;
|
GetExpressionVisitor()
Declaration
public ISqlExpressionVisitor GetExpressionVisitor()
Returns
GetSchemaLoader()
Creates Kros.Data.Schema.IDatabaseSchemaLoader for specific database.
Declaration
protected abstract IDatabaseSchemaLoader GetSchemaLoader()
Returns
Type |
Description |
Kros.Data.Schema.IDatabaseSchemaLoader |
|
SetParameterDbType(DbParameter, String, String)
Declaration
public void SetParameterDbType(DbParameter parameter, string tableName, string columnName)
Parameters
Type |
Name |
Description |
System.Data.Common.DbParameter |
parameter |
|
System.String |
tableName |
|
System.String |
columnName |
|
SetQueryFilter<T>(IQuery<T>, ISqlExpressionVisitor)
Sets the default query filter.
Declaration
protected void SetQueryFilter<T>(IQuery<T> query, ISqlExpressionVisitor sqlVisitor)
Parameters
Type Parameters
Name |
Description |
T |
Entity type.
|
SupportsIdentity()
Returns, if provider support inserting into table, where primary key is set as Identity.
Declaration
public virtual bool SupportsIdentity()
Returns
Type |
Description |
System.Boolean |
Returns true.
|
SupportsPrepareCommand()
Returns, if provider supports preparing of command (System.Data.Common.DbCommand.Prepare).
Declaration
public virtual bool SupportsPrepareCommand()
Returns
Type |
Description |
System.Boolean |
Returns true.
|
Implements
See Also