Workflow Engine .NET

Assembly: OptimaJet.Workflow.PostgreSQL

Class DbObject<TEntity>

OptimaJet.Workflow.PostgreSQL.DbObject<TEntity>

public class DbObject<TEntity> where TEntity : IEntity, new()

Inheritance

  • System.Object

Constructors

public DbObject(string schemaName, string dbTableName, int commandTimeout) #

Parameters

Name
Type
Description
schemaName
String
dbTableName
String
commandTimeout
Int32

Properties

Name
Type
CommandTimeout #
Int32
SchemaName #
String
DbTableName #
String
ObjectName #
String

Methods

public Task<int> InsertAsync(NpgsqlConnection connection, TEntity entity, NpgsqlTransaction transaction = null) #

Parameters

Name
Type
Description
connection
NpgsqlConnection
entity
{TEntity}
transaction
NpgsqlTransaction

Returns

Type
Description
Task<Int32>
public virtual Task<int> UpsertAsync(NpgsqlConnection connection, TEntity entity, NpgsqlTransaction transaction = null) #

Parameters

Name
Type
Description
connection
NpgsqlConnection
entity
{TEntity}
transaction
NpgsqlTransaction

Returns

Type
Description
Task<Int32>
public virtual Task<int> UpdateAsync(NpgsqlConnection connection, TEntity entity, NpgsqlTransaction transaction = null) #

Parameters

Name
Type
Description
connection
NpgsqlConnection
entity
{TEntity}
transaction
NpgsqlTransaction

Returns

Type
Description
Task<Int32>
public Task<TEntity[]> SelectAllAsync(NpgsqlConnection connection) #

Parameters

Name
Type
Description
connection
NpgsqlConnection

Returns

Type
Description
Task<{TEntity}[]>
public Task<TEntity[]> SelectAllWithPagingAsync(NpgsqlConnection connection, List<(string parameterName, SortDirection sortDirection)> orderParameters, Paging paging) #

Parameters

Name
Type
Description
connection
NpgsqlConnection
orderParameters
List<SortDirection>
paging
Paging

Returns

Type
Description
Task<{TEntity}[]>
public Task<TEntity> SelectByKeyAsync(NpgsqlConnection connection, object id) #

Parameters

Name
Type
Description
connection
NpgsqlConnection
id
Object

Returns

Type
Description
Task<TEntity>
public Task<TEntity[]> SelectByAsync<TSelect>(NpgsqlConnection connection, Expression<Func<TEntity, TSelect>> selectorLambda, TSelect value) #

Parameters

Name
Type
Description
connection
NpgsqlConnection
selectorLambda
Expression<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
connection
NpgsqlConnection
selectorLambda
Expression<Func{{TEntity},{TSelect>
value
{TSelect}
transaction
NpgsqlTransaction

Returns

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
connection
NpgsqlConnection
selectorLambda
Expression<Func{{TEntity},{TSelect>
value
{TSelect}
sortLambda
Expression<Func{{TEntity},{TSort>
sortDirection
SortDirection
paging
Paging

Returns

Type
Description
Task<{TEntity}[]>
public Task<int> DeleteAsync(NpgsqlConnection connection, object id, NpgsqlTransaction transaction = null) #

Parameters

Name
Type
Description
connection
NpgsqlConnection
id
Object
transaction
NpgsqlTransaction

Returns

Type
Description
Task<Int32>
public Task<int> GetCountAsync(NpgsqlConnection connection) #

Parameters

Name
Type
Description
connection
NpgsqlConnection

Returns

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
connection
NpgsqlConnection
selectorLambda
Expression<Func{{TEntity},{TSelect>
value
{TSelect}
transaction
NpgsqlTransaction

Returns

Type
Description
Task<Int32>
public Task<int> ExecuteCommandNonQueryAsync(NpgsqlConnection connection, string commandText, params NpgsqlParameter[] parameters) #

Parameters

Name
Type
Description
connection
NpgsqlConnection
commandText
String
parameters
NpgsqlParameter[]

Returns

Type
Description
Task<Int32>
public Task<int> ExecuteCommandNonQueryAsync(NpgsqlConnection connection, string commandText, NpgsqlTransaction transaction = null, params NpgsqlParameter[] parameters) #

Parameters

Name
Type
Description
connection
NpgsqlConnection
commandText
String
transaction
NpgsqlTransaction
parameters
NpgsqlParameter[]

Returns

Type
Description
Task<Int32>
public Task<object> ExecuteCommandScalarAsync(NpgsqlConnection connection, string commandText, params NpgsqlParameter[] parameters) #

Parameters

Name
Type
Description
connection
NpgsqlConnection
commandText
String
parameters
NpgsqlParameter[]

Returns

Type
Description
Task<Object>
public Task<object> ExecuteCommandScalarAsync(NpgsqlConnection connection, string commandText, NpgsqlTransaction transaction = null, params NpgsqlParameter[] parameters) #

Parameters

Name
Type
Description
connection
NpgsqlConnection
commandText
String
transaction
NpgsqlTransaction
parameters
NpgsqlParameter[]

Returns

Type
Description
Task<Object>
public Task<TEntity[]> SelectAsync(NpgsqlConnection connection, string commandText, params NpgsqlParameter[] parameters) #

Parameters

Name
Type
Description
connection
NpgsqlConnection
commandText
String
parameters
NpgsqlParameter[]

Returns

Type
Description
Task<{TEntity}[]>
public Task<TEntity[]> SelectAsync(NpgsqlConnection connection, string commandText, NpgsqlTransaction transaction, params NpgsqlParameter[] parameters) #

Parameters

Name
Type
Description
connection
NpgsqlConnection
commandText
String
transaction
NpgsqlTransaction
parameters
NpgsqlParameter[]

Returns

Type
Description
Task<{TEntity}[]>
public Task<List<Dictionary<string, object>>> SelectAsDictionaryAsync(NpgsqlConnection connection, string commandText, params NpgsqlParameter[] parameters) #

Parameters

Name
Type
Description
connection
NpgsqlConnection
commandText
String
parameters
NpgsqlParameter[]

Returns

Type
Description
Task<Object>
public Task<int> InsertAllAsync(NpgsqlConnection connection, TEntity[] values, NpgsqlTransaction transaction = null) #

Parameters

Name
Type
Description
connection
NpgsqlConnection
values
{TEntity}[]
transaction
NpgsqlTransaction

Returns

Type
Description
Task<Int32>
public NpgsqlParameter CreateParameter(TEntity entity, ColumnInfo column, string namePrefix = "") #

Parameters

Name
Type
Description
entity
{TEntity}
column
ColumnInfo
namePrefix
String

Returns

Type
Description
NpgsqlParameter
protected static object ToDbValue<TValue>(TValue value, NpgsqlDbType type) #

Parameters

Name
Type
Description
value
{TValue}
type
NpgsqlDbType

Returns

Type
Description
Object
protected static object FromDbValue<TValue>(TValue dbValue, NpgsqlDbType type) #

Parameters

Name
Type
Description
dbValue
{TValue}
type
NpgsqlDbType

Returns

Type
Description
Object
public string GetKeyOrFirstColumn() #

Returns

Type
Description
String

Fields

public static List<ColumnInfo> DBColumnsStatic #
public List<ColumnInfo> DBColumns #