Show / Hide Table of Contents

Class CRUDTransaction

Represents an abstract base for CRUDTransactions that perform particular backend CRUD work in overriden classes

Inheritance
System.Object
DisposableObject
CRUDTransaction
MySQLCRUDTransaction
Implements
System.IDisposable
ICRUDOperations
Inherited Members
DisposableObject.DisposeAndNull<T>(T)
DisposableObject.DisposeStarted
DisposableObject.Disposed
DisposableObject.EnsureObjectNotDisposed()
DisposableObject.Dispose()
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()
Namespace: NFX.DataAccess.CRUD
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
Type Name Description
ICRUDDataStoreImplementation store
TransactionDisposeBehavior disposeBehavior

Fields

m_Store

Declaration
protected ICRUDDataStoreImplementation m_Store
Field Value
Type Description
ICRUDDataStoreImplementation

Properties

DataStore

References the store instance that started this transaction

Declaration
public ICRUDDataStore DataStore { get; }
Property Value
Type Description
ICRUDDataStore

DisposeBehavior

Specifies how transaction should be finalized on dispose: comitted or rolledback if it is still open

Declaration
public TransactionDisposeBehavior DisposeBehavior { get; }
Property Value
Type Description
TransactionDisposeBehavior

Status

Returns current transaction status

Declaration
public TransactionStatus Status { get; }
Property Value
Type Description
TransactionStatus

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
public void Commit()

Delete(Row, IDataStoreKey)

Declaration
public int Delete(Row row, IDataStoreKey key = null)
Parameters
Type Name Description
Row row
IDataStoreKey key
Returns
Type Description
System.Int32

DeleteAsync(Row, IDataStoreKey)

Declaration
public Task<int> DeleteAsync(Row row, IDataStoreKey key = null)
Parameters
Type Name Description
Row row
IDataStoreKey key
Returns
Type Description
System.Threading.Tasks.Task<System.Int32>

Destructor()

Declaration
protected override void Destructor()
Overrides
DisposableObject.Destructor()

DoCommit()

Declaration
protected abstract void DoCommit()

DoDelete(Row, IDataStoreKey)

Declaration
protected abstract int DoDelete(Row row, IDataStoreKey key)
Parameters
Type Name Description
Row row
IDataStoreKey key
Returns
Type Description
System.Int32

DoDeleteAsync(Row, IDataStoreKey)

Declaration
protected abstract Task<int> DoDeleteAsync(Row row, IDataStoreKey key)
Parameters
Type Name Description
Row row
IDataStoreKey key
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
Type Description
Schema

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
Type Name Description
Row row
FieldFilterFunc filter
Returns
Type Description
System.Int32

DoInsertAsync(Row, FieldFilterFunc)

Declaration
protected abstract Task<int> DoInsertAsync(Row row, FieldFilterFunc filter = null)
Parameters
Type Name Description
Row row
FieldFilterFunc filter
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
Type Description
Cursor

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
Type Name Description
RowsetBase[] tables
Returns
Type Description
System.Int32

DoSaveAsync(RowsetBase[])

Declaration
protected abstract Task<int> DoSaveAsync(params RowsetBase[] tables)
Parameters
Type Name Description
RowsetBase[] tables
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
Type Name Description
Row row
IDataStoreKey key
FieldFilterFunc filter
Returns
Type Description
System.Int32

DoUpdateAsync(Row, IDataStoreKey, FieldFilterFunc)

Declaration
protected abstract Task<int> DoUpdateAsync(Row row, IDataStoreKey key, FieldFilterFunc filter = null)
Parameters
Type Name Description
Row row
IDataStoreKey key
FieldFilterFunc filter
Returns
Type Description
System.Threading.Tasks.Task<System.Int32>

DoUpsert(Row, FieldFilterFunc)

Declaration
protected abstract int DoUpsert(Row row, FieldFilterFunc filter = null)
Parameters
Type Name Description
Row row
FieldFilterFunc filter
Returns
Type Description
System.Int32

DoUpsertAsync(Row, FieldFilterFunc)

Declaration
protected abstract Task<int> DoUpsertAsync(Row row, FieldFilterFunc filter = null)
Parameters
Type Name Description
Row row
FieldFilterFunc filter
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
Type Description
Schema

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
Type Name Description
Row row
FieldFilterFunc filter
Returns
Type Description
System.Int32

InsertAsync(Row, FieldFilterFunc)

Declaration
public Task<int> InsertAsync(Row row, FieldFilterFunc filter = null)
Parameters
Type Name Description
Row row
FieldFilterFunc filter
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
Type Description
Row

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
Type Description
RowsetBase

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
Type Description
Cursor

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
public void Rollback()

Save(RowsetBase[])

Declaration
public int Save(params RowsetBase[] tables)
Parameters
Type Name Description
RowsetBase[] tables
Returns
Type Description
System.Int32

SaveAsync(RowsetBase[])

Declaration
public Task<int> SaveAsync(params RowsetBase[] tables)
Parameters
Type Name Description
RowsetBase[] tables
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
Type Name Description
Row row
IDataStoreKey key
FieldFilterFunc filter
Returns
Type Description
System.Int32

UpdateAsync(Row, IDataStoreKey, FieldFilterFunc)

Declaration
public Task<int> UpdateAsync(Row row, IDataStoreKey key = null, FieldFilterFunc filter = null)
Parameters
Type Name Description
Row row
IDataStoreKey key
FieldFilterFunc filter
Returns
Type Description
System.Threading.Tasks.Task<System.Int32>

Upsert(Row, FieldFilterFunc)

Declaration
public int Upsert(Row row, FieldFilterFunc filter = null)
Parameters
Type Name Description
Row row
FieldFilterFunc filter
Returns
Type Description
System.Int32

UpsertAsync(Row, FieldFilterFunc)

Declaration
public Task<int> UpsertAsync(Row row, FieldFilterFunc filter = null)
Parameters
Type Name Description
Row row
FieldFilterFunc filter
Returns
Type Description
System.Threading.Tasks.Task<System.Int32>

Implements

System.IDisposable
ICRUDOperations

Extension Methods

DataUtils.LoadRow<TRow>(ICRUDOperations, Query<TRow>)
DataUtils.LoadRowAsync<TRow>(ICRUDOperations, Query<TRow>)
DataUtils.LoadEnumerable<TRow>(ICRUDOperations, Query<TRow>)
DataUtils.LoadEnumerableAsync<TRow>(ICRUDOperations, Query<TRow>)
MiscUtils.NonNull<T>(T, Func<Exception>, String)
ObjectValueConversion.AsString(Object, String, ConvertErrorHandling)
ObjectValueConversion.AsNonNullOrEmptyString(Object)
ObjectValueConversion.AsLaconicConfig(Object, ConfigSectionNode, String, ConvertErrorHandling)
ObjectValueConversion.AsJSONConfig(Object, ConfigSectionNode, String, ConvertErrorHandling)
ObjectValueConversion.AsXMLConfig(Object, ConfigSectionNode, ConvertErrorHandling)
ObjectValueConversion.AsChar(Object, Char, ConvertErrorHandling)
ObjectValueConversion.AsNullableChar(Object, Nullable<Char>, ConvertErrorHandling)
ObjectValueConversion.AsByte(Object, Byte, ConvertErrorHandling)
ObjectValueConversion.AsNullableByte(Object, Nullable<Byte>, ConvertErrorHandling)
ObjectValueConversion.AsSByte(Object, SByte, ConvertErrorHandling)
ObjectValueConversion.AsNullableSByte(Object, Nullable<SByte>, ConvertErrorHandling)
ObjectValueConversion.AsShort(Object, Int16, ConvertErrorHandling)
ObjectValueConversion.AsNullableShort(Object, Nullable<Int16>, ConvertErrorHandling)
ObjectValueConversion.AsUShort(Object, UInt16, ConvertErrorHandling)
ObjectValueConversion.AsNullableUShort(Object, Nullable<UInt16>, ConvertErrorHandling)
ObjectValueConversion.AsInt(Object, Int32, ConvertErrorHandling)
ObjectValueConversion.AsNullableInt(Object, Nullable<Int32>, ConvertErrorHandling)
ObjectValueConversion.AsUInt(Object, UInt32, ConvertErrorHandling)
ObjectValueConversion.AsNullableUInt(Object, Nullable<UInt32>, ConvertErrorHandling)
ObjectValueConversion.AsLong(Object, Int64, ConvertErrorHandling)
ObjectValueConversion.AsNullableLong(Object, Nullable<Int64>, ConvertErrorHandling)
ObjectValueConversion.AsULong(Object, UInt64, ConvertErrorHandling)
ObjectValueConversion.AsNullableULong(Object, Nullable<UInt64>, ConvertErrorHandling)
ObjectValueConversion.AsDouble(Object, Double, ConvertErrorHandling)
ObjectValueConversion.AsNullableDouble(Object, Nullable<Double>, ConvertErrorHandling)
ObjectValueConversion.AsFloat(Object, Single, ConvertErrorHandling)
ObjectValueConversion.AsNullableFloat(Object, Nullable<Single>, ConvertErrorHandling)
ObjectValueConversion.AsDecimal(Object, Decimal, ConvertErrorHandling)
ObjectValueConversion.AsNullableDecimal(Object, Nullable<Decimal>, ConvertErrorHandling)
ObjectValueConversion.AsBool(Object, Boolean, ConvertErrorHandling)
ObjectValueConversion.AsNullableBool(Object, Nullable<Boolean>, ConvertErrorHandling)
ObjectValueConversion.AsGUID(Object, Guid, ConvertErrorHandling)
ObjectValueConversion.AsNullableGUID(Object, Nullable<Guid>, ConvertErrorHandling)
ObjectValueConversion.AsDateTime(Object)
ObjectValueConversion.AsDateTime(Object, DateTime, ConvertErrorHandling)
ObjectValueConversion.AsNullableDateTime(Object, Nullable<DateTime>, ConvertErrorHandling)
ObjectValueConversion.AsGDID(Object)
ObjectValueConversion.AsGDID(Object, GDID, ConvertErrorHandling)
ObjectValueConversion.AsNullableGDID(Object, Nullable<GDID>, ConvertErrorHandling)
ObjectValueConversion.AsGDIDSymbol(Object)
ObjectValueConversion.AsGDIDSymbol(Object, GDIDSymbol, ConvertErrorHandling)
ObjectValueConversion.AsNullableGDIDSymbol(Object, Nullable<GDIDSymbol>, ConvertErrorHandling)
ObjectValueConversion.AsTimeSpan(Object)
ObjectValueConversion.AsTimeSpan(Object, TimeSpan, ConvertErrorHandling)
ObjectValueConversion.AsNullableTimeSpan(Object, Nullable<TimeSpan>, ConvertErrorHandling)
ObjectValueConversion.AsEnum<TEnum>(Object, TEnum, ConvertErrorHandling)
ObjectValueConversion.AsNullableEnum<TEnum>(Object, Nullable<TEnum>, ConvertErrorHandling)
ObjectValueConversion.AsUri(Object, Uri, ConvertErrorHandling)
JSONExtensions.ToJSON(Object, JSONWritingOptions)
JSONExtensions.ToJSON(Object, TextWriter, JSONWritingOptions)
JSONExtensions.ToJSON(Object, Stream, JSONWritingOptions, Encoding)
ErlObject.ToErlObject(Object)
ErlObject.ToErlObject(Object, ErlTypeOrder, Boolean)
Back to top Copyright © 2006-2018 Agnicore Inc
Generated by DocFX