Show / Hide Table of Contents

    Interface IDatabase

    Interface, which describe class for access to ORM features.

    For executing query and materializing models see:

    IDatabase

    IQuery<T>

    Namespace: Kros.KORM
    Assembly: Kros.KORM.dll
    Syntax
    public interface IDatabase : IDisposable
    Examples
                var people = database.ModelBuilder.Materialize<Person>(dataTable);
    
            foreach (var person in people)
            {
                Console.WriteLine(person.FirstName);
            }

    Properties

    DbProviderFactory

    Returns DbProviderFactory for current provider.

    Declaration
    DbProviderFactory DbProviderFactory { get; }
    Property Value
    Type Description
    System.Data.Common.DbProviderFactory

    ModelBuilder

    Gets the model builder for materializing data from ado to models.

    Declaration
    IModelBuilder ModelBuilder { get; }
    Property Value
    Type Description
    IModelBuilder
    Examples
                var people = database.ModelBuilder.Materialize<Person>(dataTable);
    
            foreach (var person in people)
            {
                Console.WriteLine(person.FirstName);
            }
                    var people = database.Query<Person>()
                    .Select("p.Id", "FirstName", "LastName", "PostCode")
                    .From("Person JOIN Address ON (Person.AddressId = Address.Id)")
                    .Where("Age > @1", 18);
    
                foreach (var person in people)
                {
                    Console.WriteLine(person.FirstName);
                }

    Methods

    BeginTransaction()

    Begins the transaction.

    Declaration
    ITransaction BeginTransaction()
    Returns
    Type Description
    ITransaction

    ITransaction wrapping access to the underlying store's transaction object.

    Examples
                    using (var transaction = database.BeginTransaction())
                {
                    var invoicesDbSet = database.Query<Invoice>().AsDbSet();
                    var itemsDbSet = database.Query<Item>().AsDbSet();
    
                    try
                    {
                        invoicesDbSet.Add(invoices);
                        invoicesDbSet.CommitChanges();
    
                        itemsDbSet.Add(items);
                        itemsDbSet.CommitChanges();
    
                        transaction.Commit();
                    }
                    catch
                    {
                        transaction.Rollback();
                    }
                }

    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.

    Examples
                    using (var transaction = database.BeginTransaction(IsolationLevel.Chaos))
                {
                    var invoicesDbSet = database.Query<Invoice>().AsDbSet();
                    var itemsDbSet = database.Query<Item>().AsDbSet();
    
                    try
                    {
                        invoicesDbSet.Add(invoices);
                        invoicesDbSet.CommitChanges();
    
                        itemsDbSet.Add(items);
                        itemsDbSet.CommitChanges();
    
                        transaction.Commit();
                    }
                    catch
                    {
                        transaction.Rollback();
                    }
                }

    CreateBulkInsert()

    Creates instance of Kros.Data.BulkActions.IBulkInsert.

    Declaration
    IBulkInsert CreateBulkInsert()
    Returns
    Type Description
    Kros.Data.BulkActions.IBulkInsert

    Instance of Kros.Data.BulkActions.IBulkInsert.

    CreateBulkUpdate()

    Creates instance of Kros.Data.BulkActions.IBulkUpdate.

    Declaration
    IBulkUpdate CreateBulkUpdate()
    Returns
    Type Description
    Kros.Data.BulkActions.IBulkUpdate

    Instance of Kros.Data.BulkActions.IBulkUpdate.

    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.

    ExecuteNonQueryAsync(String, CommandParameterCollection, CancellationToken)

    Asynchronously executes arbitrary query with parameters.

    Declaration
    Task<int> ExecuteNonQueryAsync(string query, CommandParameterCollection parameters, CancellationToken cancellationToken = default(CancellationToken))
    Parameters
    Type Name Description
    System.String query

    Arbitrary SQL query. It should not be SELECT query.

    CommandParameterCollection parameters

    The query parameters.

    System.Threading.CancellationToken cancellationToken

    The token to monitor for cancellation requests.

    Returns
    Type Description
    System.Threading.Tasks.Task<System.Int32>

    A task that represents the asynchronous operation. The task result contains the numbers of affected rows.

    ExecuteNonQueryAsync(String, CancellationToken)

    Asynchronously executes arbitrary query.

    Declaration
    Task<int> ExecuteNonQueryAsync(string query, CancellationToken cancellationToken = default(CancellationToken))
    Parameters
    Type Name Description
    System.String query

    Arbitrary SQL query. It should not be SELECT query.

    System.Threading.CancellationToken cancellationToken

    The token to monitor for cancellation requests.

    Returns
    Type Description
    System.Threading.Tasks.Task<System.Int32>

    A task that represents the asynchronous operation. The task result contains the numbers of affected rows.

    ExecuteNonQueryAsync(String, CancellationToken, Object[])

    Asynchronously executes arbitrary query.

    Declaration
    Task<int> ExecuteNonQueryAsync(string query, CancellationToken cancellationToken = default(CancellationToken), params object[] parameters)
    Parameters
    Type Name Description
    System.String query

    Arbitrary SQL query. It should not be SELECT query.

    System.Threading.CancellationToken cancellationToken

    The token to monitor for cancellation requests.

    System.Object[] parameters

    List of parameters.

    Returns
    Type Description
    System.Threading.Tasks.Task<System.Int32>

    A task that represents the asynchronous operation. The task result contains the numbers of affected rows.

    ExecuteScalar(String)

    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
    string ExecuteScalar(string query)
    Parameters
    Type Name Description
    System.String query

    Arbitrary SQL query.

    Returns
    Type Description
    System.String

    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.

    ExecuteScalar(String, Object[])

    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
    string ExecuteScalar(string query, params object[] args)
    Parameters
    Type Name Description
    System.String query

    Arbitrary SQL query.

    System.Object[] args

    The query parameters.

    Returns
    Type Description
    System.String

    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.

    ExecuteScalar<TResult>(String)

    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
    TResult? ExecuteScalar<TResult>(string query)
    
        where TResult : struct
    Parameters
    Type Name Description
    System.String query

    Arbitrary SQL query.

    Returns
    Type Description
    System.Nullable<TResult>

    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
    TResult

    ExecuteScalar<TResult>(String, Object[])

    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
    TResult? ExecuteScalar<TResult>(string query, params object[] args)
    
        where TResult : struct
    Parameters
    Type Name Description
    System.String query

    Arbitrary SQL query.

    System.Object[] args

    The query parameters.

    Returns
    Type Description
    System.Nullable<TResult>

    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
    TResult

    ExecuteStoredProcedure<TResult>(String)

    Executes the stored procedure.

    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.

    ExecuteStoredProcedure<TResult>(String, CommandParameterCollection)

    Executes the stored procedure with parameters.

    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.

    Returns
    Type Description
    TResult

    Result of the stored procedure.

    Type Parameters
    Name Description
    TResult

    The type of the result.

    InitDatabaseForIdGenerator()

    Initializes database for using ID generator. Initialization can mean creating necessary table and stored procedure.

    Declaration
    void InitDatabaseForIdGenerator()

    Query<T>()

    Gets the query builder for T creating and executing query for obtains models.

    Declaration
    IQuery<T> Query<T>()
    Returns
    Type Description
    IQuery<T>

    Query builder.

    Type Parameters
    Name Description
    T

    Type of model, for which querying.

    Extension Methods

    IDatabaseExtensions.AddAsync<TEntity>(IDatabase, TEntity, CancellationToken)
    IDatabaseExtensions.AddAsync<TEntity>(IDatabase, IEnumerable<TEntity>)
    IDatabaseExtensions.BulkAddAsync<TEntity>(IDatabase, IEnumerable<TEntity>)
    IDatabaseExtensions.DeleteAsync<TEntity>(IDatabase, TEntity, CancellationToken)
    IDatabaseExtensions.DeleteAsync<TEntity>(IDatabase, IEnumerable<TEntity>)
    IDatabaseExtensions.DeleteAsync<TEntity>(IDatabase, Object, CancellationToken)
    IDatabaseExtensions.DeleteAsync<TEntity>(IDatabase, Expression<Func<TEntity, Boolean>>, CancellationToken)
    IDatabaseExtensions.DeleteAsync<TEntity>(IDatabase, RawSqlString, CancellationToken, Object[])
    IDatabaseExtensions.EditAsync<TEntity>(IDatabase, TEntity, CancellationToken)
    IDatabaseExtensions.EditAsync<TEntity>(IDatabase, IEnumerable<TEntity>)
    IDatabaseExtensions.BulkEditAsync<TEntity>(IDatabase, IEnumerable<TEntity>)
    IDatabaseExtensions.EditAsync<TEntity>(IDatabase, TEntity, CancellationToken, String[])
    Back to top KROS a.s.