Workflow Engine .NET

Assembly: OptimaJet.Workflow.SQLite

Class DbObject<TEntity>

OptimaJet.Workflow.SQLite.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(SqliteConnection connection, TEntity entity, SqliteTransaction transaction = null) #

Parameters

Name
Type
Description
connection
SqliteConnection
entity
{TEntity}
transaction
SqliteTransaction

Returns

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

Parameters

Name
Type
Description
connection
SqliteConnection
entity
{TEntity}
transaction
SqliteTransaction

Returns

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

Parameters

Name
Type
Description
connection
SqliteConnection
entity
{TEntity}
transaction
SqliteTransaction

Returns

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

Parameters

Name
Type
Description
connection
SqliteConnection

Returns

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

Parameters

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

Returns

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

Parameters

Name
Type
Description
connection
SqliteConnection
id
Object

Returns

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

Parameters

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

Returns

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

Parameters

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

Returns

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

Parameters

Name
Type
Description
connection
SqliteConnection
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(SqliteConnection connection, object id, SqliteTransaction transaction = null) #

Parameters

Name
Type
Description
connection
SqliteConnection
id
Object
transaction
SqliteTransaction

Returns

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

Parameters

Name
Type
Description
connection
SqliteConnection

Returns

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

Parameters

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

Returns

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

Parameters

Name
Type
Description
connection
SqliteConnection
commandText
String
parameters
SqliteParameter[]

Returns

Type
Description
Task<Int32>
public Task<int> ExecuteCommandNonQueryAsync(SqliteConnection connection, string commandText, SqliteTransaction transaction = null, params SqliteParameter[] parameters) #

Parameters

Name
Type
Description
connection
SqliteConnection
commandText
String
transaction
SqliteTransaction
parameters
SqliteParameter[]

Returns

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

Parameters

Name
Type
Description
connection
SqliteConnection
commandText
String
parameters
SqliteParameter[]

Returns

Type
Description
Task<Object>
public Task<object> ExecuteCommandScalarAsync(SqliteConnection connection, string commandText, SqliteTransaction transaction = null, params SqliteParameter[] parameters) #

Parameters

Name
Type
Description
connection
SqliteConnection
commandText
String
transaction
SqliteTransaction
parameters
SqliteParameter[]

Returns

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

Parameters

Name
Type
Description
connection
SqliteConnection
commandText
String
parameters
SqliteParameter[]

Returns

Type
Description
Task<{TEntity}[]>
public Task<TEntity[]> SelectAsync(SqliteConnection connection, string commandText, SqliteTransaction transaction, params SqliteParameter[] parameters) #

Parameters

Name
Type
Description
connection
SqliteConnection
commandText
String
transaction
SqliteTransaction
parameters
SqliteParameter[]

Returns

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

Parameters

Name
Type
Description
connection
SqliteConnection
commandText
String
parameters
SqliteParameter[]

Returns

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

Parameters

Name
Type
Description
connection
SqliteConnection
values
{TEntity}[]
transaction
SqliteTransaction

Returns

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

Parameters

Name
Type
Description
entity
{TEntity}
column
ColumnInfo
namePrefix
String

Returns

Type
Description
SqliteParameter
protected static object ToDbValue<TValue>(TValue value, DbType type) #

Parameters

Name
Type
Description
value
{TValue}
type
DbType

Returns

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

Parameters

Name
Type
Description
dbValue
{TValue}
type
DbType

Returns

Type
Description
Object
public string GetKeyOrFirstColumn() #

Returns

Type
Description
String

Fields

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