Class DbObject<TEntity>
OptimaJet.Workflow.PostgreSQL.DbObject<TEntity>
Namespace: OptimaJet.Workflow.PostgreSQL
public class DbObject<TEntity> where TEntity : IEntity, new()Inheritance
- System.Object
Constructors
public DbObject(string schemaName, string dbTableName, int commandTimeout) #Parameters
Name
Type
Description
schemaNameStringdbTableNameStringcommandTimeoutInt32Properties
Methods
public Task<int> InsertAsync(NpgsqlConnection connection, TEntity entity, NpgsqlTransaction transaction = null) #Parameters
Name
Type
Description
connectionNpgsqlConnectionentity{TEntity}transactionNpgsqlTransactionReturns
Type
Description
Task<Int32>public virtual Task<int> UpsertAsync(NpgsqlConnection connection, TEntity entity, NpgsqlTransaction transaction = null) #Parameters
Name
Type
Description
connectionNpgsqlConnectionentity{TEntity}transactionNpgsqlTransactionReturns
Type
Description
Task<Int32>public virtual Task<int> UpdateAsync(NpgsqlConnection connection, TEntity entity, NpgsqlTransaction transaction = null) #Parameters
Name
Type
Description
connectionNpgsqlConnectionentity{TEntity}transactionNpgsqlTransactionReturns
Type
Description
Task<Int32>public Task<TEntity[]> SelectAllAsync(NpgsqlConnection connection) #Parameters
Name
Type
Description
connectionNpgsqlConnectionReturns
Type
Description
Task<{TEntity}[]>public Task<TEntity[]> SelectAllWithPagingAsync(NpgsqlConnection connection, List<(string parameterName, SortDirection sortDirection)> orderParameters, Paging paging) #Parameters
Name
Type
Description
connectionNpgsqlConnectionorderParametersList<SortDirection>pagingPagingReturns
Type
Description
Task<{TEntity}[]>public Task<TEntity> SelectByKeyAsync(NpgsqlConnection connection, object id) #Parameters
Name
Type
Description
connectionNpgsqlConnectionidObjectReturns
Type
Description
Task<TEntity>public Task<TEntity[]> SelectByAsync<TSelect>(NpgsqlConnection connection, Expression<Func<TEntity, TSelect>> selectorLambda, TSelect value) #Parameters
Name
Type
Description
connectionNpgsqlConnectionselectorLambdaExpression<Func{{TEntity},{TSelect>value{TSelect}Returns
Type
Description
Task<{TEntity}[]>public Task<int> DeleteByAsync<TSelect>(NpgsqlConnection connection, Expression<Func<TEntity, TSelect>> selectorLambda, TSelect value, NpgsqlTransaction transaction = null) #Parameters
Name
Type
Description
connectionNpgsqlConnectionselectorLambdaExpression<Func{{TEntity},{TSelect>value{TSelect}transactionNpgsqlTransactionReturns
Type
Description
Task<Int32>public Task<TEntity[]> SelectByWithPagingAsync<TSelect, TSort>(NpgsqlConnection connection, Expression<Func<TEntity, TSelect>> selectorLambda, TSelect value, Expression<Func<TEntity, TSort>> sortLambda, SortDirection sortDirection, Paging paging) #Parameters
Name
Type
Description
connectionNpgsqlConnectionselectorLambdaExpression<Func{{TEntity},{TSelect>value{TSelect}sortLambdaExpression<Func{{TEntity},{TSort>sortDirectionSortDirectionpagingPagingReturns
Type
Description
Task<{TEntity}[]>public Task<int> DeleteAsync(NpgsqlConnection connection, object id, NpgsqlTransaction transaction = null) #Parameters
Name
Type
Description
connectionNpgsqlConnectionidObjecttransactionNpgsqlTransactionReturns
Type
Description
Task<Int32>public Task<int> GetCountAsync(NpgsqlConnection connection) #Parameters
Name
Type
Description
connectionNpgsqlConnectionReturns
Type
Description
Task<Int32>public Task<int> GetCountByAsync<TSelect>(NpgsqlConnection connection, Expression<Func<TEntity, TSelect>> selectorLambda, TSelect value, NpgsqlTransaction transaction = null) #Parameters
Name
Type
Description
connectionNpgsqlConnectionselectorLambdaExpression<Func{{TEntity},{TSelect>value{TSelect}transactionNpgsqlTransactionReturns
Type
Description
Task<Int32>public Task<int> ExecuteCommandNonQueryAsync(NpgsqlConnection connection, string commandText, params NpgsqlParameter[] parameters) #Parameters
Name
Type
Description
connectionNpgsqlConnectioncommandTextStringparametersNpgsqlParameter[]Returns
Type
Description
Task<Int32>public Task<int> ExecuteCommandNonQueryAsync(NpgsqlConnection connection, string commandText, NpgsqlTransaction transaction = null, params NpgsqlParameter[] parameters) #Parameters
Name
Type
Description
connectionNpgsqlConnectioncommandTextStringtransactionNpgsqlTransactionparametersNpgsqlParameter[]Returns
Type
Description
Task<Int32>public Task<object> ExecuteCommandScalarAsync(NpgsqlConnection connection, string commandText, params NpgsqlParameter[] parameters) #Parameters
Name
Type
Description
connectionNpgsqlConnectioncommandTextStringparametersNpgsqlParameter[]Returns
Type
Description
Task<Object>public Task<object> ExecuteCommandScalarAsync(NpgsqlConnection connection, string commandText, NpgsqlTransaction transaction = null, params NpgsqlParameter[] parameters) #Parameters
Name
Type
Description
connectionNpgsqlConnectioncommandTextStringtransactionNpgsqlTransactionparametersNpgsqlParameter[]Returns
Type
Description
Task<Object>public Task<TEntity[]> SelectAsync(NpgsqlConnection connection, string commandText, params NpgsqlParameter[] parameters) #Parameters
Name
Type
Description
connectionNpgsqlConnectioncommandTextStringparametersNpgsqlParameter[]Returns
Type
Description
Task<{TEntity}[]>public Task<TEntity[]> SelectAsync(NpgsqlConnection connection, string commandText, NpgsqlTransaction transaction, params NpgsqlParameter[] parameters) #Parameters
Name
Type
Description
connectionNpgsqlConnectioncommandTextStringtransactionNpgsqlTransactionparametersNpgsqlParameter[]Returns
Type
Description
Task<{TEntity}[]>public Task<List<Dictionary<string, object>>> SelectAsDictionaryAsync(NpgsqlConnection connection, string commandText, params NpgsqlParameter[] parameters) #Parameters
Name
Type
Description
connectionNpgsqlConnectioncommandTextStringparametersNpgsqlParameter[]Returns
Type
Description
Task<Object>public Task<int> InsertAllAsync(NpgsqlConnection connection, TEntity[] values, NpgsqlTransaction transaction = null) #Parameters
Name
Type
Description
connectionNpgsqlConnectionvalues{TEntity}[]transactionNpgsqlTransactionReturns
Type
Description
Task<Int32>public NpgsqlParameter CreateParameter(TEntity entity, ColumnInfo column, string namePrefix = "") #Parameters
Name
Type
Description
entity{TEntity}columnColumnInfonamePrefixStringReturns
Type
Description
NpgsqlParameterprotected static object ToDbValue<TValue>(TValue value, NpgsqlDbType type) #Parameters
Name
Type
Description
value{TValue}typeNpgsqlDbTypeReturns
Type
Description
Objectprotected static object FromDbValue<TValue>(TValue dbValue, NpgsqlDbType type) #Parameters
Name
Type
Description
dbValue{TValue}typeNpgsqlDbTypeReturns
Type
Description
Objectpublic string GetKeyOrFirstColumn() #Returns
Type
Description
String