Class Repository
Represents a repository for executing SQL commands and building SQL queries.
public class Repository
- Inheritance
-
Repository
- Inherited Members
Constructors
Repository(IDatabaseRegistry, string)
Initializes a new instance of the Repository class with an explicit runtime and database name.
public Repository(IDatabaseRegistry registry, string databaseName)
Parameters
registryIDatabaseRegistryThe registry used to resolve database resources.
databaseNamestringThe name of the database.
Repository(string)
Initializes a new instance of the Repository class with the specified database name.
public Repository(string databaseName)
Parameters
databaseNamestringThe name of the database.
Properties
DatabaseName
Gets the database name associated with this repository.
public virtual string DatabaseName { get; }
Property Value
Registry
Gets the runtime associated with this repository.
protected IDatabaseRegistry Registry { get; }
Property Value
Methods
CreateDbConnection()
Creates a new database connection using the named context or the default context.
public DbConnection CreateDbConnection()
Returns
CreateSqlAdapter()
Creates a SQL adapter for the current database.
public ISqlAdapter CreateSqlAdapter()
Returns
- ISqlAdapter
An instance of IceCoffee.Db4Net.Core.SqlAdapters.ISqlAdapter configured for the current database.
DeleteMany<TEntity>(IEnumerable<TEntity>)
Creates a builder to delete multiple entities.
public SqlDeleteEntityBuilder<TEntity> DeleteMany<TEntity>(IEnumerable<TEntity> entities)
Parameters
entitiesIEnumerable<TEntity>A collection of entities to delete.
Returns
- SqlDeleteEntityBuilder<TEntity>
A IceCoffee.Db4Net.Core.SqlBuilders.SqlDeleteEntityBuilder<TEntity> instance.
Type Parameters
TEntityThe entity type.
DeleteMany<TEntity>(IEnumerable)
Creates a builder to delete multiple records by their identifiers for a specific entity type.
public SqlDeleteBuilder<TEntity> DeleteMany<TEntity>(IEnumerable ids)
Parameters
idsIEnumerableA collection of record identifiers.
Returns
- SqlDeleteBuilder<TEntity>
A IceCoffee.Db4Net.Core.SqlBuilders.SqlDeleteBuilder<TEntity> instance.
Type Parameters
TEntityThe entity type.
Delete<TEntity>()
Creates a builder to delete records for a specific entity type.
public SqlDeleteBuilder<TEntity> Delete<TEntity>()
Returns
- SqlDeleteBuilder<TEntity>
A IceCoffee.Db4Net.Core.SqlBuilders.SqlDeleteBuilder<TEntity> instance.
Type Parameters
TEntityThe entity type.
Delete<TEntity>(object)
Creates a builder to delete a record by its identifier for a specific entity type.
public SqlDeleteBuilder<TEntity> Delete<TEntity>(object id)
Parameters
idobjectThe record identifier.
Returns
- SqlDeleteBuilder<TEntity>
A IceCoffee.Db4Net.Core.SqlBuilders.SqlDeleteBuilder<TEntity> instance.
Type Parameters
TEntityThe entity type.
Delete<TEntity>(TEntity)
Creates a builder to delete a single entity.
public SqlDeleteEntityBuilder<TEntity> Delete<TEntity>(TEntity entity)
Parameters
entityTEntityThe entity to delete.
Returns
- SqlDeleteEntityBuilder<TEntity>
A IceCoffee.Db4Net.Core.SqlBuilders.SqlDeleteEntityBuilder<TEntity> instance.
Type Parameters
TEntityThe entity type.
InsertAndGetId<TEntity>(TEntity)
Creates a builder to insert an entity and retrieve its generated identifier.
public SqlInsertAndGetIdBuilder<TEntity> InsertAndGetId<TEntity>(TEntity entity)
Parameters
entityTEntityThe entity to insert.
Returns
- SqlInsertAndGetIdBuilder<TEntity>
A IceCoffee.Db4Net.Core.SqlBuilders.SqlInsertAndGetIdBuilder<TEntity> instance.
Type Parameters
TEntityThe entity type.
InsertMany<TEntity>(IEnumerable<TEntity>)
Creates a builder to insert multiple entity records.
public SqlInsertEntityBuilder<TEntity> InsertMany<TEntity>(IEnumerable<TEntity> entities)
Parameters
entitiesIEnumerable<TEntity>The entities to insert.
Returns
- SqlInsertEntityBuilder<TEntity>
A IceCoffee.Db4Net.Core.SqlBuilders.SqlInsertEntityBuilder<TEntity> instance.
Type Parameters
TEntityThe entity type.
InsertOrIgnoreMany<TEntity>(IEnumerable<TEntity>)
Creates a builder to insert multiple entities, ignoring conflicts for existing records.
public SqlInsertOrIgnoreBuilder<TEntity> InsertOrIgnoreMany<TEntity>(IEnumerable<TEntity> entities)
Parameters
entitiesIEnumerable<TEntity>The entities to insert.
Returns
- SqlInsertOrIgnoreBuilder<TEntity>
A IceCoffee.Db4Net.Core.SqlBuilders.SqlInsertOrIgnoreBuilder<TEntity> instance.
Type Parameters
TEntityThe entity type.
InsertOrIgnore<TEntity>(TEntity)
Creates a builder to insert an entity if it does not exist, ignoring conflicts otherwise.
public SqlInsertOrIgnoreBuilder<TEntity> InsertOrIgnore<TEntity>(TEntity entity)
Parameters
entityTEntityThe entity to insert.
Returns
- SqlInsertOrIgnoreBuilder<TEntity>
A IceCoffee.Db4Net.Core.SqlBuilders.SqlInsertOrIgnoreBuilder<TEntity> instance.
Type Parameters
TEntityThe entity type.
InsertOrReplaceMany<TEntity>(IEnumerable<TEntity>)
Creates a builder to insert or replace multiple entities.
public SqlInsertOrReplaceBuilder<TEntity> InsertOrReplaceMany<TEntity>(IEnumerable<TEntity> entities)
Parameters
entitiesIEnumerable<TEntity>The entities to insert or replace.
Returns
- SqlInsertOrReplaceBuilder<TEntity>
A IceCoffee.Db4Net.Core.SqlBuilders.SqlInsertOrReplaceBuilder<TEntity> instance.
Type Parameters
TEntityThe entity type.
InsertOrReplace<TEntity>(TEntity)
Creates a builder to insert or replace an existing entity.
public SqlInsertOrReplaceBuilder<TEntity> InsertOrReplace<TEntity>(TEntity entity)
Parameters
entityTEntityThe entity to insert or replace.
Returns
- SqlInsertOrReplaceBuilder<TEntity>
A IceCoffee.Db4Net.Core.SqlBuilders.SqlInsertOrReplaceBuilder<TEntity> instance.
Type Parameters
TEntityThe entity type.
Insert<TEntity>()
Creates a builder to insert new records for a specific entity type.
public SqlInsertBuilder<TEntity> Insert<TEntity>()
Returns
- SqlInsertBuilder<TEntity>
A IceCoffee.Db4Net.Core.SqlBuilders.SqlInsertBuilder<TEntity> instance.
Type Parameters
TEntityThe entity type.
Insert<TEntity>(TEntity)
Creates a builder to insert a single entity record.
public SqlInsertEntityBuilder<TEntity> Insert<TEntity>(TEntity entity)
Parameters
entityTEntityThe entity to insert.
Returns
- SqlInsertEntityBuilder<TEntity>
A IceCoffee.Db4Net.Core.SqlBuilders.SqlInsertEntityBuilder<TEntity> instance.
Type Parameters
TEntityThe entity type.
Query()
Creates a new IceCoffee.Db4Net.Core.SqlBuilders.SqlQueryBuilder instance.
public SqlQueryBuilder Query()
Returns
- SqlQueryBuilder
A IceCoffee.Db4Net.Core.SqlBuilders.SqlQueryBuilder object.
QueryCount<TEntity>()
Creates an SQL query builder for counting records in the default table of an entity type.
public SqlQueryCountBuilder<TEntity> QueryCount<TEntity>()
Returns
- SqlQueryCountBuilder<TEntity>
A IceCoffee.Db4Net.Core.SqlBuilders.SqlQueryBuilder preconfigured to count.
Type Parameters
TEntityThe entity type.
QueryExists()
Creates a new IceCoffee.Db4Net.Core.SqlBuilders.SqlQueryExistsBuilder to check for existence of records.
public SqlQueryExistsBuilder QueryExists()
Returns
- SqlQueryExistsBuilder
A IceCoffee.Db4Net.Core.SqlBuilders.SqlQueryExistsBuilder object.
QueryExists<TEntity>()
Creates a new IceCoffee.Db4Net.Core.SqlBuilders.SqlQueryExistsBuilder<TEntity> to check for existence of records for a specific entity type.
public SqlQueryExistsBuilder<TEntity> QueryExists<TEntity>()
Returns
- SqlQueryExistsBuilder<TEntity>
A IceCoffee.Db4Net.Core.SqlBuilders.SqlQueryExistsBuilder<TEntity> object.
Type Parameters
TEntityThe entity type.
QueryExists<TEntity>(object)
Creates a new IceCoffee.Db4Net.Core.SqlBuilders.SqlQueryExistsBuilder<TEntity> to check for existence of a record by its id.
public SqlQueryExistsBuilder<TEntity> QueryExists<TEntity>(object id)
Parameters
idobjectThe record identifier.
Returns
- SqlQueryExistsBuilder<TEntity>
A IceCoffee.Db4Net.Core.SqlBuilders.SqlQueryExistsBuilder<TEntity> object.
Type Parameters
TEntityThe entity type.
QueryPaged()
Creates a new IceCoffee.Db4Net.Core.SqlBuilders.SqlQueryPagedBuilder instance for paginated queries.
public SqlQueryPagedBuilder QueryPaged()
Returns
- SqlQueryPagedBuilder
A IceCoffee.Db4Net.Core.SqlBuilders.SqlQueryPagedBuilder object.
QueryPaged(int, int)
Creates a new IceCoffee.Db4Net.Core.SqlBuilders.SqlQueryPagedBuilder with specified page number and size.
public SqlQueryPagedBuilder QueryPaged(int pageNumber, int pageSize)
Parameters
Returns
- SqlQueryPagedBuilder
A IceCoffee.Db4Net.Core.SqlBuilders.SqlQueryPagedBuilder object.
QueryPaged<TEntity>()
Creates a paginated query builder for a specific entity type.
public SqlQueryPagedBuilder<TEntity> QueryPaged<TEntity>()
Returns
- SqlQueryPagedBuilder<TEntity>
A IceCoffee.Db4Net.Core.SqlBuilders.SqlQueryPagedBuilder<TEntity> object.
Type Parameters
TEntityThe entity type.
QueryPaged<TEntity>(int, int)
Creates a paginated query builder for a specific entity type with explicit page number and size.
public SqlQueryPagedBuilder<TEntity> QueryPaged<TEntity>(int pageNumber, int pageSize)
Parameters
Returns
- SqlQueryPagedBuilder<TEntity>
A IceCoffee.Db4Net.Core.SqlBuilders.SqlQueryPagedBuilder<TEntity> object.
Type Parameters
TEntityThe entity type.
QueryStoredProcedure(string, DynamicParameters)
Creates a stored procedure builder using Dapper.DynamicParameters.
public SqlQueryStoredProcedureBuilder QueryStoredProcedure(string procName, DynamicParameters dynamicParameters)
Parameters
procNamestringThe name of the stored procedure.
dynamicParametersDynamicParametersDynamic parameters for the procedure.
Returns
- SqlQueryStoredProcedureBuilder
An instance of IceCoffee.Db4Net.Core.SqlBuilders.SqlQueryStoredProcedureBuilder.
QueryStoredProcedure(string, object?)
Creates a stored procedure builder with optional parameters.
public SqlQueryStoredProcedureBuilder QueryStoredProcedure(string procName, object? param = null)
Parameters
procNamestringThe name of the stored procedure.
paramobjectOptional parameters for the procedure.
Returns
- SqlQueryStoredProcedureBuilder
An instance of IceCoffee.Db4Net.Core.SqlBuilders.SqlQueryStoredProcedureBuilder.
QueryStoredProcedure<TEntity>(string, DynamicParameters)
Creates a stored procedure builder using Dapper.DynamicParameters for a specific entity type.
public SqlQueryStoredProcedureBuilder<TEntity> QueryStoredProcedure<TEntity>(string procName, DynamicParameters dynamicParameters)
Parameters
procNamestringThe name of the stored procedure.
dynamicParametersDynamicParametersDynamic parameters for the procedure.
Returns
- SqlQueryStoredProcedureBuilder<TEntity>
An instance of IceCoffee.Db4Net.Core.SqlBuilders.SqlQueryStoredProcedureBuilder<TEntity>.
Type Parameters
TEntityThe entity type.
QueryStoredProcedure<TEntity>(string, object?)
Creates a stored procedure builder with optional parameters for a specific entity type.
public SqlQueryStoredProcedureBuilder<TEntity> QueryStoredProcedure<TEntity>(string procName, object? param = null)
Parameters
procNamestringThe name of the stored procedure.
paramobjectOptional parameters for the procedure.
Returns
- SqlQueryStoredProcedureBuilder<TEntity>
An instance of IceCoffee.Db4Net.Core.SqlBuilders.SqlQueryStoredProcedureBuilder<TEntity>.
Type Parameters
TEntityThe entity type.
Query<TEntity>()
Creates a new IceCoffee.Db4Net.Core.SqlBuilders.SqlQueryBuilder<TEntity> for the specified entity type.
public SqlQueryBuilder<TEntity> Query<TEntity>()
Returns
- SqlQueryBuilder<TEntity>
A IceCoffee.Db4Net.Core.SqlBuilders.SqlQueryBuilder<TEntity> object.
Type Parameters
TEntityThe entity type.
Query<TEntity>(object)
Creates a new IceCoffee.Db4Net.Core.SqlBuilders.SqlQueryBuilder<TEntity> querying by a specific record id.
public SqlQueryBuilder<TEntity> Query<TEntity>(object id)
Parameters
idobjectThe record identifier.
Returns
- SqlQueryBuilder<TEntity>
A IceCoffee.Db4Net.Core.SqlBuilders.SqlQueryBuilder<TEntity> object.
Type Parameters
TEntityThe entity type.
UpdateMany<TEntity>(IEnumerable<TEntity>)
Creates a builder to update multiple entities.
public SqlUpdateEntityBuilder<TEntity> UpdateMany<TEntity>(IEnumerable<TEntity> entities)
Parameters
entitiesIEnumerable<TEntity>The entities to update.
Returns
- SqlUpdateEntityBuilder<TEntity>
A IceCoffee.Db4Net.Core.SqlBuilders.SqlUpdateEntityBuilder<TEntity> instance.
Type Parameters
TEntityThe entity type.
Update<TEntity>()
Creates a builder to update records for a specific entity type.
public SqlUpdateBuilder<TEntity> Update<TEntity>()
Returns
- SqlUpdateBuilder<TEntity>
A IceCoffee.Db4Net.Core.SqlBuilders.SqlUpdateBuilder<TEntity> instance.
Type Parameters
TEntityThe entity type.
Update<TEntity>(TEntity)
Creates a builder to update a single entity.
public SqlUpdateEntityBuilder<TEntity> Update<TEntity>(TEntity entity)
Parameters
entityTEntityThe entity to update.
Returns
- SqlUpdateEntityBuilder<TEntity>
A IceCoffee.Db4Net.Core.SqlBuilders.SqlUpdateEntityBuilder<TEntity> instance.
Type Parameters
TEntityThe entity type.