Class CRUDTransaction
Represents an abstract base for CRUDTransactions that perform particular backend CRUD work in overriden classes
Inheritance
System.Object
CRUDTransaction
Implements
System.IDisposable
Inherited Members
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
Assembly: NFX.dll
Syntax
public abstract class CRUDTransaction : DisposableObject, IDisposable, ICRUDOperations
Constructors
CRUDTransaction(ICRUDDataStoreImplementation, TransactionDisposeBehavior)
Declaration
protected CRUDTransaction(ICRUDDataStoreImplementation store, TransactionDisposeBehavior disposeBehavior = TransactionDisposeBehavior.CommitOnDispose)
Parameters
Fields
m_Store
Declaration
protected ICRUDDataStoreImplementation m_Store
Field Value
Properties
DataStore
References the store instance that started this transaction
Declaration
public ICRUDDataStore DataStore { get; }
Property Value
DisposeBehavior
Specifies how transaction should be finalized on dispose: comitted or rolledback if it is still open
Declaration
public TransactionDisposeBehavior DisposeBehavior { get; }
Property Value
Status
Returns current transaction status
Declaration
public TransactionStatus Status { get; }
Property Value
SupportsTrueAsynchrony
Returns true when backend supports true asynchronous operations, such as the ones that do not create extra threads/empty tasks
Declaration
public bool SupportsTrueAsynchrony { get; }
Property Value
Type |
Description |
System.Boolean |
|
Methods
CheckOpenStatus(String)
Declaration
protected void CheckOpenStatus(string operation)
Parameters
Type |
Name |
Description |
System.String |
operation |
|
Commit()
Declaration
Delete(Row, IDataStoreKey)
Declaration
public int Delete(Row row, IDataStoreKey key = null)
Parameters
Returns
Type |
Description |
System.Int32 |
|
DeleteAsync(Row, IDataStoreKey)
Declaration
public Task<int> DeleteAsync(Row row, IDataStoreKey key = null)
Parameters
Returns
Type |
Description |
System.Threading.Tasks.Task<System.Int32> |
|
Destructor()
Declaration
protected override void Destructor()
Overrides
DoCommit()
Declaration
protected abstract void DoCommit()
DoDelete(Row, IDataStoreKey)
Declaration
protected abstract int DoDelete(Row row, IDataStoreKey key)
Parameters
Returns
Type |
Description |
System.Int32 |
|
DoDeleteAsync(Row, IDataStoreKey)
Declaration
protected abstract Task<int> DoDeleteAsync(Row row, IDataStoreKey key)
Parameters
Returns
Type |
Description |
System.Threading.Tasks.Task<System.Int32> |
|
DoExecuteWithoutFetch(Query[])
Declaration
protected abstract int DoExecuteWithoutFetch(params Query[] queries)
Parameters
Type |
Name |
Description |
Query[] |
queries |
|
Returns
Type |
Description |
System.Int32 |
|
DoExecuteWithoutFetchAsync(Query[])
Declaration
protected abstract Task<int> DoExecuteWithoutFetchAsync(params Query[] queries)
Parameters
Type |
Name |
Description |
Query[] |
queries |
|
Returns
Type |
Description |
System.Threading.Tasks.Task<System.Int32> |
|
DoGetSchema(Query)
Declaration
protected abstract Schema DoGetSchema(Query query)
Parameters
Type |
Name |
Description |
Query |
query |
|
Returns
DoGetSchemaAsync(Query)
Declaration
protected abstract Task<Schema> DoGetSchemaAsync(Query query)
Parameters
Type |
Name |
Description |
Query |
query |
|
Returns
Type |
Description |
System.Threading.Tasks.Task<Schema> |
|
DoInsert(Row, FieldFilterFunc)
Declaration
protected abstract int DoInsert(Row row, FieldFilterFunc filter = null)
Parameters
Returns
Type |
Description |
System.Int32 |
|
DoInsertAsync(Row, FieldFilterFunc)
Declaration
protected abstract Task<int> DoInsertAsync(Row row, FieldFilterFunc filter = null)
Parameters
Returns
Type |
Description |
System.Threading.Tasks.Task<System.Int32> |
|
DoLoad(Boolean, Query[])
Declaration
protected abstract List<RowsetBase> DoLoad(bool oneRow, params Query[] queries)
Parameters
Type |
Name |
Description |
System.Boolean |
oneRow |
|
Query[] |
queries |
|
Returns
Type |
Description |
System.Collections.Generic.List<RowsetBase> |
|
DoLoadAsync(Boolean, Query[])
Declaration
protected abstract Task<List<RowsetBase>> DoLoadAsync(bool oneRow, params Query[] queries)
Parameters
Type |
Name |
Description |
System.Boolean |
oneRow |
|
Query[] |
queries |
|
Returns
Type |
Description |
System.Threading.Tasks.Task<System.Collections.Generic.List<RowsetBase>> |
|
DoOpenCursor(Query)
Declaration
protected abstract Cursor DoOpenCursor(Query query)
Parameters
Type |
Name |
Description |
Query |
query |
|
Returns
DoOpenCursorAsync(Query)
Declaration
protected abstract Task<Cursor> DoOpenCursorAsync(Query query)
Parameters
Type |
Name |
Description |
Query |
query |
|
Returns
Type |
Description |
System.Threading.Tasks.Task<Cursor> |
|
DoRollback()
Declaration
protected abstract void DoRollback()
DoSave(RowsetBase[])
Declaration
protected abstract int DoSave(params RowsetBase[] tables)
Parameters
Returns
Type |
Description |
System.Int32 |
|
DoSaveAsync(RowsetBase[])
Declaration
protected abstract Task<int> DoSaveAsync(params RowsetBase[] tables)
Parameters
Returns
Type |
Description |
System.Threading.Tasks.Task<System.Int32> |
|
DoUpdate(Row, IDataStoreKey, FieldFilterFunc)
Declaration
protected abstract int DoUpdate(Row row, IDataStoreKey key, FieldFilterFunc filter = null)
Parameters
Returns
Type |
Description |
System.Int32 |
|
DoUpdateAsync(Row, IDataStoreKey, FieldFilterFunc)
Declaration
protected abstract Task<int> DoUpdateAsync(Row row, IDataStoreKey key, FieldFilterFunc filter = null)
Parameters
Returns
Type |
Description |
System.Threading.Tasks.Task<System.Int32> |
|
DoUpsert(Row, FieldFilterFunc)
Declaration
protected abstract int DoUpsert(Row row, FieldFilterFunc filter = null)
Parameters
Returns
Type |
Description |
System.Int32 |
|
DoUpsertAsync(Row, FieldFilterFunc)
Declaration
protected abstract Task<int> DoUpsertAsync(Row row, FieldFilterFunc filter = null)
Parameters
Returns
Type |
Description |
System.Threading.Tasks.Task<System.Int32> |
|
ExecuteWithoutFetch(Query[])
Declaration
public int ExecuteWithoutFetch(params Query[] queries)
Parameters
Type |
Name |
Description |
Query[] |
queries |
|
Returns
Type |
Description |
System.Int32 |
|
ExecuteWithoutFetchAsync(Query[])
Declaration
public Task<int> ExecuteWithoutFetchAsync(params Query[] queries)
Parameters
Type |
Name |
Description |
Query[] |
queries |
|
Returns
Type |
Description |
System.Threading.Tasks.Task<System.Int32> |
|
GetSchema(Query)
Declaration
public Schema GetSchema(Query query)
Parameters
Type |
Name |
Description |
Query |
query |
|
Returns
GetSchemaAsync(Query)
Declaration
public Task<Schema> GetSchemaAsync(Query query)
Parameters
Type |
Name |
Description |
Query |
query |
|
Returns
Type |
Description |
System.Threading.Tasks.Task<Schema> |
|
Insert(Row, FieldFilterFunc)
Declaration
public int Insert(Row row, FieldFilterFunc filter = null)
Parameters
Returns
Type |
Description |
System.Int32 |
|
InsertAsync(Row, FieldFilterFunc)
Declaration
public Task<int> InsertAsync(Row row, FieldFilterFunc filter = null)
Parameters
Returns
Type |
Description |
System.Threading.Tasks.Task<System.Int32> |
|
Load(Query[])
Declaration
public List<RowsetBase> Load(params Query[] queries)
Parameters
Type |
Name |
Description |
Query[] |
queries |
|
Returns
Type |
Description |
System.Collections.Generic.List<RowsetBase> |
|
LoadAsync(Query[])
Declaration
public Task<List<RowsetBase>> LoadAsync(params Query[] queries)
Parameters
Type |
Name |
Description |
Query[] |
queries |
|
Returns
Type |
Description |
System.Threading.Tasks.Task<System.Collections.Generic.List<RowsetBase>> |
|
LoadOneRow(Query)
Declaration
public Row LoadOneRow(Query query)
Parameters
Type |
Name |
Description |
Query |
query |
|
Returns
LoadOneRowAsync(Query)
Declaration
public Task<Row> LoadOneRowAsync(Query query)
Parameters
Type |
Name |
Description |
Query |
query |
|
Returns
Type |
Description |
System.Threading.Tasks.Task<Row> |
|
LoadOneRowset(Query)
Declaration
public RowsetBase LoadOneRowset(Query query)
Parameters
Type |
Name |
Description |
Query |
query |
|
Returns
LoadOneRowsetAsync(Query)
Declaration
public Task<RowsetBase> LoadOneRowsetAsync(Query query)
Parameters
Type |
Name |
Description |
Query |
query |
|
Returns
Type |
Description |
System.Threading.Tasks.Task<RowsetBase> |
|
OpenCursor(Query)
Declaration
public Cursor OpenCursor(Query query)
Parameters
Type |
Name |
Description |
Query |
query |
|
Returns
OpenCursorAsync(Query)
Declaration
public Task<Cursor> OpenCursorAsync(Query query)
Parameters
Type |
Name |
Description |
Query |
query |
|
Returns
Type |
Description |
System.Threading.Tasks.Task<Cursor> |
|
Rollback()
Declaration
Save(RowsetBase[])
Declaration
public int Save(params RowsetBase[] tables)
Parameters
Returns
Type |
Description |
System.Int32 |
|
SaveAsync(RowsetBase[])
Declaration
public Task<int> SaveAsync(params RowsetBase[] tables)
Parameters
Returns
Type |
Description |
System.Threading.Tasks.Task<System.Int32> |
|
Update(Row, IDataStoreKey, FieldFilterFunc)
Declaration
public int Update(Row row, IDataStoreKey key = null, FieldFilterFunc filter = null)
Parameters
Returns
Type |
Description |
System.Int32 |
|
UpdateAsync(Row, IDataStoreKey, FieldFilterFunc)
Declaration
public Task<int> UpdateAsync(Row row, IDataStoreKey key = null, FieldFilterFunc filter = null)
Parameters
Returns
Type |
Description |
System.Threading.Tasks.Task<System.Int32> |
|
Upsert(Row, FieldFilterFunc)
Declaration
public int Upsert(Row row, FieldFilterFunc filter = null)
Parameters
Returns
Type |
Description |
System.Int32 |
|
UpsertAsync(Row, FieldFilterFunc)
Declaration
public Task<int> UpsertAsync(Row row, FieldFilterFunc filter = null)
Parameters
Returns
Type |
Description |
System.Threading.Tasks.Task<System.Int32> |
|
Implements
System.IDisposable
Extension Methods