Show / Hide Table of Contents

Class MySQLDataStore

Implements MySQL general data store that auto-generates SQLs for record models and supports CRUD operations. This class IS thread-safe load/save/delete operations

Inheritance
System.Object
DisposableObject
ApplicationComponent
MySQLDataStoreBase
MySQLDataStore
Implements
ICRUDDataStoreImplementation
ICRUDDataStore
ICRUDOperations
ICRUDTransactionOperations
IDataStoreImplementation
IDataStore
IApplicationComponent
System.IDisposable
IConfigurable
IInstrumentable
IExternallyParameterized
Inherited Members
MySQLDataStoreBase.STR_FOR_TRUE
MySQLDataStoreBase.STR_FOR_FALSE
MySQLDataStoreBase.Name
MySQLDataStoreBase.InstrumentationEnabled
MySQLDataStoreBase.ExternalParameters
MySQLDataStoreBase.ExternalParametersForGroups(String[])
MySQLDataStoreBase.ExternalGetParameter(String, Object, String[])
MySQLDataStoreBase.ExternalSetParameter(String, Object, String[])
MySQLDataStoreBase.ConnectString
MySQLDataStoreBase.LogLevel
MySQLDataStoreBase.TargetName
MySQLDataStoreBase.StringBool
MySQLDataStoreBase.StringForTrue
MySQLDataStoreBase.StringForFalse
MySQLDataStoreBase.FullGDIDS
MySQLDataStoreBase.DateTimeKind
MySQLDataStoreBase.TestConnection()
MySQLDataStoreBase.GetConnection()
ApplicationComponent.Destructor()
ApplicationComponent.AllComponents
ApplicationComponent.GetAppComponentBySID(UInt64)
ApplicationComponent.GetAppComponentByCommonName(String)
ApplicationComponent.ComponentSID
ApplicationComponent.ComponentStartTime
ApplicationComponent.ComponentCommonName
ApplicationComponent.ComponentDirector
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.MySQL
Assembly: NFX.MySQL.dll
Syntax
public class MySQLDataStore : MySQLDataStoreBase, ICRUDDataStoreImplementation, ICRUDDataStore, ICRUDOperations, ICRUDTransactionOperations, IDataStoreImplementation, IDataStore, IApplicationComponent, IDisposable, IConfigurable, IInstrumentable, IExternallyParameterized

Constructors

MySQLDataStore()

Declaration
public MySQLDataStore()

MySQLDataStore(String)

Declaration
public MySQLDataStore(string connectString)
Parameters
Type Name Description
System.String connectString

Fields

SCRIPT_FILE_SUFFIX

Declaration
public const string SCRIPT_FILE_SUFFIX = ".mys.sql"
Field Value
Type Description
System.String

Properties

QueryResolver

Declaration
public ICRUDQueryResolver QueryResolver { get; }
Property Value
Type Description
ICRUDQueryResolver

ScriptFileSuffix

Declaration
public string ScriptFileSuffix { get; }
Property Value
Type Description
System.String

StoreType

Declaration
public CRUDDataStoreType StoreType { get; }
Property Value
Type Description
CRUDDataStoreType

SupportsTransactions

Declaration
public bool SupportsTransactions { get; }
Property Value
Type Description
System.Boolean

SupportsTrueAsynchrony

Declaration
public bool SupportsTrueAsynchrony { get; }
Property Value
Type Description
System.Boolean

Methods

BeginTransaction(IsolationLevel, TransactionDisposeBehavior)

Declaration
public CRUDTransaction BeginTransaction(IsolationLevel iso = IsolationLevel.ReadCommitted, TransactionDisposeBehavior behavior = TransactionDisposeBehavior.CommitOnDispose)
Parameters
Type Name Description
System.Data.IsolationLevel iso
TransactionDisposeBehavior behavior
Returns
Type Description
CRUDTransaction

BeginTransactionAsync(IsolationLevel, TransactionDisposeBehavior)

Declaration
public Task<CRUDTransaction> BeginTransactionAsync(IsolationLevel iso = IsolationLevel.ReadCommitted, TransactionDisposeBehavior behavior = TransactionDisposeBehavior.CommitOnDispose)
Parameters
Type Name Description
System.Data.IsolationLevel iso
TransactionDisposeBehavior behavior
Returns
Type Description
System.Threading.Tasks.Task<CRUDTransaction>

Configure(IConfigSectionNode)

Declaration
public override void Configure(IConfigSectionNode node)
Parameters
Type Name Description
IConfigSectionNode node
Overrides
MySQLDataStoreBase.Configure(IConfigSectionNode)

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>

DoDelete(MySqlConnection, MySqlTransaction, Row, IDataStoreKey)

Performs CRUD row deletion. Override to do custom deletion

Declaration
protected virtual int DoDelete(MySqlConnection cnn, MySqlTransaction transaction, Row row, IDataStoreKey key = null)
Parameters
Type Name Description
MySqlConnection cnn
MySqlTransaction transaction
Row row
IDataStoreKey key
Returns
Type Description
System.Int32

DoExecuteWithoutFetch(MySqlConnection, MySqlTransaction, Query[])

Performs CRUD execution of queries that do not return result set. Override to do custom Query interpretation

Declaration
protected virtual int DoExecuteWithoutFetch(MySqlConnection cnn, MySqlTransaction transaction, Query[] queries)
Parameters
Type Name Description
MySqlConnection cnn
MySqlTransaction transaction
Query[] queries
Returns
Type Description
System.Int32

DoGetSchema(MySqlConnection, MySqlTransaction, Query)

Performs CRUD load without fetching data only returning schema. Override to do custom Query interpretation

Declaration
protected virtual Schema DoGetSchema(MySqlConnection cnn, MySqlTransaction transaction, Query query)
Parameters
Type Name Description
MySqlConnection cnn
MySqlTransaction transaction
Query query
Returns
Type Description
Schema

DoInsert(MySqlConnection, MySqlTransaction, Row, FieldFilterFunc)

Performs CRUD row insert. Override to do custom insertion

Declaration
protected virtual int DoInsert(MySqlConnection cnn, MySqlTransaction transaction, Row row, FieldFilterFunc filter = null)
Parameters
Type Name Description
MySqlConnection cnn
MySqlTransaction transaction
Row row
FieldFilterFunc filter
Returns
Type Description
System.Int32

DoLoad(MySqlConnection, MySqlTransaction, Query[], Boolean)

Performs CRUD load. Override to do custom Query interpretation

Declaration
protected virtual List<RowsetBase> DoLoad(MySqlConnection cnn, MySqlTransaction transaction, Query[] queries, bool oneRow = false)
Parameters
Type Name Description
MySqlConnection cnn
MySqlTransaction transaction
Query[] queries
System.Boolean oneRow
Returns
Type Description
System.Collections.Generic.List<RowsetBase>

DoOpenCursor(MySqlConnection, MySqlTransaction, Query)

Performs CRUD load. Override to do custom Query interpretation

Declaration
protected virtual Cursor DoOpenCursor(MySqlConnection cnn, MySqlTransaction transaction, Query query)
Parameters
Type Name Description
MySqlConnection cnn
MySqlTransaction transaction
Query query
Returns
Type Description
Cursor

DoSave(MySqlConnection, MySqlTransaction, RowsetBase[])

Performs CRUD batch save. Override to do custom batch saving

Declaration
protected virtual int DoSave(MySqlConnection cnn, MySqlTransaction transaction, RowsetBase[] rowsets)
Parameters
Type Name Description
MySqlConnection cnn
MySqlTransaction transaction
RowsetBase[] rowsets
Returns
Type Description
System.Int32

DoUpdate(MySqlConnection, MySqlTransaction, Row, IDataStoreKey, FieldFilterFunc)

Performs CRUD row update. Override to do custom update

Declaration
protected virtual int DoUpdate(MySqlConnection cnn, MySqlTransaction transaction, Row row, IDataStoreKey key = null, FieldFilterFunc filter = null)
Parameters
Type Name Description
MySqlConnection cnn
MySqlTransaction transaction
Row row
IDataStoreKey key
FieldFilterFunc filter
Returns
Type Description
System.Int32

DoUpsert(MySqlConnection, MySqlTransaction, Row, FieldFilterFunc)

Performs CRUD row upsert. Override to do custom upsertion

Declaration
protected virtual int DoUpsert(MySqlConnection cnn, MySqlTransaction transaction, Row row, FieldFilterFunc filter = null)
Parameters
Type Name Description
MySqlConnection cnn
MySqlTransaction transaction
Row row
FieldFilterFunc filter
Returns
Type Description
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>

MakeScriptQueryHandler(QuerySource)

Declaration
public CRUDQueryHandler MakeScriptQueryHandler(QuerySource querySource)
Parameters
Type Name Description
QuerySource querySource
Returns
Type Description
CRUDQueryHandler

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>

Save(RowsetBase[])

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

SaveAsync(RowsetBase[])

Declaration
public Task<int> SaveAsync(params RowsetBase[] rowsets)
Parameters
Type Name Description
RowsetBase[] rowsets
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

ICRUDDataStoreImplementation
ICRUDDataStore
ICRUDOperations
ICRUDTransactionOperations
IDataStoreImplementation
IDataStore
IApplicationComponent
System.IDisposable
IConfigurable
IInstrumentable
IExternallyParameterized

Extension Methods

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