Interface IQueryProvider
Interface for provider, which know execute query.
Namespace: Kros.KORM.Query
Assembly: Kros.KORM.dll
Syntax
public interface IQueryProvider : IQueryProvider, IDisposable
Properties
DbProviderFactory
Returns DbProviderFactory for current provider.
Declaration
DbProviderFactory DbProviderFactory { get; }
Property Value
Type | Description |
---|---|
System.Data.Common.DbProviderFactory |
Methods
BeginTransaction(IsolationLevel)
Begins the transaction using the specified isolation level.
Declaration
ITransaction BeginTransaction(IsolationLevel isolationLevel)
Parameters
Type | Name | Description |
---|---|---|
System.Data.IsolationLevel | isolationLevel | The database isolation level with which the underlying store transaction will be created. |
Returns
Type | Description |
---|---|
ITransaction | ITransaction wrapping access to the underlying store's transaction object. |
CreateBulkInsert()
Creates instance of IBulkInsert.
Declaration
IBulkInsert CreateBulkInsert()
Returns
Type | Description |
---|---|
IBulkInsert | Instance of IBulkInsert. |
CreateBulkUpdate()
Creates instance of IBulkUpdate.
Declaration
IBulkUpdate CreateBulkUpdate()
Returns
Type | Description |
---|---|
IBulkUpdate | Instance of IBulkUpdate. |
CreateIdGenerator(String, Int32)
Creates the identifier generator.
Declaration
IIdGenerator CreateIdGenerator(string tableName, int batchSize)
Parameters
Type | Name | Description |
---|---|---|
System.String | tableName | Name of the database table. |
System.Int32 | batchSize | Size of inserting the batch. |
Returns
Type | Description |
---|---|
IIdGenerator | The identifier generator. |
Execute<T>(IQuery<T>)
Executes the specified query.
Declaration
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. |
ExecuteInTransactionAsync(Func<Task>)
Asynchronously executes action in transaction.
Declaration
Task ExecuteInTransactionAsync(Func<Task> action)
Parameters
Type | Name | Description |
---|---|---|
System.Func<System.Threading.Tasks.Task> | action | Action which will be executed. |
Returns
Type | Description |
---|---|
System.Threading.Tasks.Task | A task that represents the asynchronous operation. |
ExecuteNonQuery(String)
Executes arbitrary query.
Declaration
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
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. |
ExecuteNonQueryCommand(IDbCommand)
Executes the command.
Declaration
int ExecuteNonQueryCommand(IDbCommand command)
Parameters
Type | Name | Description |
---|---|---|
System.Data.IDbCommand | command | The command. |
Returns
Type | Description |
---|---|
System.Int32 | Number of affected rows. |
ExecuteNonQueryCommandAsync(DbCommand)
Asynchronously executes the command.
Declaration
Task<int> ExecuteNonQueryCommandAsync(DbCommand command)
Parameters
Type | Name | Description |
---|---|---|
System.Data.Common.DbCommand | command | The command. |
Returns
Type | Description |
---|---|
System.Threading.Tasks.Task<System.Int32> | A task that represents the asynchronous save operation. The task result contains the numbers of affected rows. |
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
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 a null if the result set is empty. Returns a maximum of 2033 characters. |
Type Parameters
Name | Description |
---|---|
T | Type of model. |
ExecuteStoredProcedure<TResult>(String)
Executes the stored procedure with parameters and returns its result. The result can be scalar value (primitive or complex – class type), or a list of values (System.Collections.Generic.IEnumerable<T>).
Declaration
TResult ExecuteStoredProcedure<TResult>(string storedProcedureName)
Parameters
Type | Name | Description |
---|---|---|
System.String | storedProcedureName | Name of the stored procedure. |
Returns
Type | Description |
---|---|
TResult | Result of the stored procedure. |
Type Parameters
Name | Description |
---|---|
TResult | The type of the result. It can be scalar primitive or complex (class) value,
or System.Collections.Generic.IEnumerable<T> of some value. If the |
Examples
For the examples, we expect to have a Database initialized and a Person
class defined.
Exceptions
Type | Condition |
---|---|
System.InvalidOperationException |
ExecuteStoredProcedure<TResult>(String, CommandParameterCollection)
Declaration
TResult ExecuteStoredProcedure<TResult>(string storedProcedureName, CommandParameterCollection parameters)
Parameters
Type | Name | Description |
---|---|---|
System.String | storedProcedureName | Name of the stored procedure. |
CommandParameterCollection | parameters | The stored procedure parameters. Values of output parameters (System.Data.ParameterDirection.Output System.Data.ParameterDirection.InputOutput) are set back to corresponding parameter in collection |
Returns
Type | Description |
---|---|
TResult |
Type Parameters
Name | Description |
---|---|
TResult |
Exceptions
Type | Condition |
---|---|
System.ArgumentException | Value of any of the parameters in |
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
DbCommand GetCommandForCurrentTransaction()
Returns
Type | Description |
---|---|
System.Data.Common.DbCommand | Inicializovaný príkaz. |
SetParameterDbType(DbParameter, String, String)
Sets correct data type to parameter
, according to column columnName
in table tableName
. The method does not set general System.Data.Common.DbParameter.DbType,
but specific for given database (SqlParameter.SqlDbType
, OleDbParameter.OleDbType
).
Declaration
void SetParameterDbType(DbParameter parameter, string tableName, string columnName)
Parameters
Type | Name | Description |
---|---|---|
System.Data.Common.DbParameter | parameter | The parameter to which the data type is set. |
System.String | tableName | Table name. |
System.String | columnName | Column name which data type is obtained. |