Workflow Engine .NET

Assembly: OptimaJet.Workflow.MySQL

Class DbObject<TEntity>

OptimaJet.Workflow.MySQL.DbObject<TEntity>

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

Inheritance

  • System.Object

Constructors

public DbObject(string dbTableName, int commandTimeout) #

Parameters

Name
Type
Description
dbTableName
String
commandTimeout
Int32

Properties

Name
Type
CommandTimeout #
Int32
DbTableName #
String

Methods

public virtual Task<int> InsertAsync(MySqlConnection connection, TEntity entity, MySqlTransaction transaction = null) #

Parameters

Name
Type
Description
connection
MySqlConnection
entity
{TEntity}
transaction
MySqlTransaction

Returns

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

Parameters

Name
Type
Description
connection
MySqlConnection
entity
{TEntity}
transaction
MySqlTransaction

Returns

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

Parameters

Name
Type
Description
connection
MySqlConnection
entity
{TEntity}
transaction
MySqlTransaction

Returns

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

Parameters

Name
Type
Description
connection
MySqlConnection

Returns

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

Parameters

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

Returns

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

Parameters

Name
Type
Description
connection
MySqlConnection
selectorLambda
Expression<Func{{TEntity},{TSelect>
value
{TSelect}

Returns

Type
Description
Task<{TEntity}[]>
public Task<TEntity[]> SelectByWithPagingAsync<TSelect, TSort>(MySqlConnection connection, Expression<Func<TEntity, TSelect>> selectorLambda, TSelect value, Expression<Func<TEntity, TSort>> sortLambda, SortDirection sortDirection, Paging paging) #

Parameters

Name
Type
Description
connection
MySqlConnection
selectorLambda
Expression<Func{{TEntity},{TSelect>
value
{TSelect}
sortLambda
Expression<Func{{TEntity},{TSort>
sortDirection
SortDirection
paging
Paging

Returns

Type
Description
Task<{TEntity}[]>
public Task<int> DeleteByAsync<TSelect>(MySqlConnection connection, Expression<Func<TEntity, TSelect>> selectorLambda, TSelect value, MySqlTransaction transaction = null) #

Parameters

Name
Type
Description
connection
MySqlConnection
selectorLambda
Expression<Func{{TEntity},{TSelect>
value
{TSelect}
transaction
MySqlTransaction

Returns

Type
Description
Task<Int32>
public Task<TEntity> SelectByKeyAsync(MySqlConnection connection, object id) #

Parameters

Name
Type
Description
connection
MySqlConnection
id
Object

Returns

Type
Description
Task<TEntity>
public Task<int> DeleteAsync(MySqlConnection connection, object id, MySqlTransaction transaction = null) #

Parameters

Name
Type
Description
connection
MySqlConnection
id
Object
transaction
MySqlTransaction

Returns

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

Parameters

Name
Type
Description
connection
MySqlConnection

Returns

Type
Description
Task<Int32>
public Task<int> GetCountByAsync<TSelect>(MySqlConnection connection, Expression<Func<TEntity, TSelect>> selectorLambda, TSelect value, MySqlTransaction transaction = null) #

Parameters

Name
Type
Description
connection
MySqlConnection
selectorLambda
Expression<Func{{TEntity},{TSelect>
value
{TSelect}
transaction
MySqlTransaction

Returns

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

Parameters

Name
Type
Description
connection
MySqlConnection
commandText
String
parameters
MySqlParameter[]

Returns

Type
Description
Task<Int32>
public Task<int> ExecuteCommandNonQueryAsync(MySqlConnection connection, string commandText, MySqlTransaction transaction = null, params MySqlParameter[] parameters) #

Parameters

Name
Type
Description
connection
MySqlConnection
commandText
String
transaction
MySqlTransaction
parameters
MySqlParameter[]

Returns

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

Parameters

Name
Type
Description
connection
MySqlConnection
commandText
String
parameters
MySqlParameter[]

Returns

Type
Description
Task<Object>
public Task<object> ExecuteCommandScalarAsync(MySqlConnection connection, string commandText, MySqlTransaction transaction = null, params MySqlParameter[] parameters) #

Parameters

Name
Type
Description
connection
MySqlConnection
commandText
String
transaction
MySqlTransaction
parameters
MySqlParameter[]

Returns

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

Parameters

Name
Type
Description
connection
MySqlConnection
commandText
String
parameters
MySqlParameter[]

Returns

Type
Description
Task<{TEntity}[]>
public Task<TEntity[]> SelectAsync(MySqlConnection connection, string commandText, MySqlTransaction transaction, params MySqlParameter[] parameters) #

Parameters

Name
Type
Description
connection
MySqlConnection
commandText
String
transaction
MySqlTransaction
parameters
MySqlParameter[]

Returns

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

Parameters

Name
Type
Description
connection
MySqlConnection
commandText
String
parameters
MySqlParameter[]

Returns

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

Parameters

Name
Type
Description
connection
MySqlConnection
values
{TEntity}[]
transaction
MySqlTransaction

Returns

Type
Description
Task<Int32>
public virtual MySqlParameter CreateParameter(TEntity entity, ColumnInfo c, string namePrefix = "") #

Parameters

Name
Type
Description
entity
{TEntity}
c
ColumnInfo
namePrefix
String

Returns

Type
Description
MySqlParameter
protected static object ToDbValue<TValue>(TValue value, MySqlDbType type) #

Parameters

Name
Type
Description
value
{TValue}
type
MySqlDbType

Returns

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

Parameters

Name
Type
Description
dbValue
{TValue}
type
MySqlDbType

Returns

Type
Description
Object
public string GetKeyOrFirstColumn() #

Returns

Type
Description
String

Fields

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