Class QueryProvider
Provider, which know execute query.
Implements
Namespace: Kros.KORM.Query
Assembly: Kros.KORM.dll
Syntax
public abstract class QueryProvider : IQueryProvider, IQueryProvider, IDisposable
Constructors
QueryProvider(ConnectionStringSettings, ISqlExpressionVisitor, IModelBuilder, ILogger)
Initializes a new instance of the QueryProvider class.
Declaration
public QueryProvider(ConnectionStringSettings connectionSettings, ISqlExpressionVisitor sqlGenerator, IModelBuilder modelBuilder, ILogger logger)
Parameters
Type | Name | Description |
---|---|---|
System.Configuration.ConnectionStringSettings | connectionSettings | The connection string settings. |
ISqlExpressionVisitor | sqlGenerator | The SQL generator. |
IModelBuilder | modelBuilder | The model builder. |
ILogger | logger | The logger. |
QueryProvider(DbConnection, ISqlExpressionVisitor, IModelBuilder, ILogger)
Initializes a new instance of the QueryProvider class.
Declaration
public QueryProvider(DbConnection externalConnection, ISqlExpressionVisitor sqlGenerator, IModelBuilder modelBuilder, ILogger logger)
Parameters
Type | Name | Description |
---|---|---|
System.Data.Common.DbConnection | externalConnection | The connection. |
ISqlExpressionVisitor | sqlGenerator | The SQL generator. |
IModelBuilder | modelBuilder | The model builder. |
ILogger | logger | The logger. |
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
Connection string na databázu, ktorý bol zadaný pri vytvorení inštancie triedy (QueryProvider(ConnectionStringSettings, ISqlExpressionVisitor, IModelBuilder, ILogger)). Ak bola trieda vytvorená konkrétnou inštanciou spojenia, vráti null.
Declaration
protected string ConnectionString { get; }
Property Value
Type | Description |
---|---|
System.String |
DbProviderFactory
Returns DbProviderFactory for current provider.
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
Type | Description |
---|---|
ITransaction |
CreateBulkInsert()
Creates instance of IBulkInsert.
Declaration
public abstract IBulkInsert CreateBulkInsert()
Returns
Type | Description |
---|---|
IBulkInsert | Instance of IBulkInsert. |
CreateBulkUpdate()
Creates instance of IBulkUpdate.
Declaration
public abstract IBulkUpdate CreateBulkUpdate()
Returns
Type | Description |
---|---|
IBulkUpdate | Instance of 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 |
---|---|
IIdGenerator |
CreateQuery(Expression)
Not implemented.
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
public void Dispose()
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 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)
Executes arbitrary query.
Declaration
public int ExecuteNonQuery(string query)
Parameters
Type | Name | Description |
---|---|---|
System.String | query | Arbitrary SQL query. It should not be SELECT query. |
Returns
Type | Description |
---|---|
System.Int32 | Number of affected rows. |
ExecuteNonQuery(String, CommandParameterCollection)
Executes arbitrary query with parameters.
Declaration
public int ExecuteNonQuery(string query, CommandParameterCollection parameters)
Parameters
Type | Name | Description |
---|---|---|
System.String | query | Arbitrary SQL query. It should not be SELECT query. |
CommandParameterCollection | parameters | The query parameters. |
Returns
Type | Description |
---|---|
System.Int32 | Number of affected rows. |
Exceptions
Type | Condition |
---|---|
System.ArgumentException | Value of any of the parameters is NULL and its data type (DataType) is not set. |
ExecuteNonQueryCommand(IDbCommand)
Executes the command.
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)
Declaration
public Task<int> ExecuteNonQueryCommandAsync(DbCommand command)
Parameters
Type | Name | Description |
---|---|---|
System.Data.Common.DbCommand | command |
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. |
ExecuteStoredProcedure<TResult>(String)
Declaration
public TResult ExecuteStoredProcedure<TResult>(string storedProcedureName)
Parameters
Type | Name | Description |
---|---|---|
System.String | storedProcedureName |
Returns
Type | Description |
---|---|
TResult |
Type Parameters
Name | Description |
---|---|
TResult |
ExecuteStoredProcedure<TResult>(String, CommandParameterCollection)
Declaration
public TResult ExecuteStoredProcedure<TResult>(string storedProcedureName, CommandParameterCollection parameters)
Parameters
Type | Name | Description |
---|---|---|
System.String | storedProcedureName | |
CommandParameterCollection | parameters |
Returns
Type | Description |
---|---|
TResult |
Type Parameters
Name | Description |
---|---|
TResult |
GetCommandForCurrentTransaction()
Vytvorí inicializovaný príkaz System.Data.Common.DbCommand, pre aktuálnu transakciu. Používa sa iba v rámci volania ExecuteInTransactionAsync(Func<Task>).
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; |
GetSchemaLoader()
Creates IDatabaseSchemaLoader for specific database.
Declaration
protected abstract IDatabaseSchemaLoader GetSchemaLoader()
Returns
Type | Description |
---|---|
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 |