Class KEFCoreTable<TKey, TValueContainer, TJVMKey, TJVMValueContainer>
- Namespace
- MASES.EntityFrameworkCore.KNet.Storage.Internal
- Assembly
- MASES.EntityFrameworkCore.KNet.dll
This is an internal API that supports the Entity Framework Core infrastructure and not subject to the same compatibility standards as public APIs. It may be changed or removed without notice in any release. You should only use it directly in your code with extreme caution and knowing that doing so can result in application failures when updating to a new Entity Framework Core release.
public class KEFCoreTable<TKey, TValueContainer, TJVMKey, TJVMValueContainer> : IKEFCoreTable, IEntityTypeProducer, IDisposable, IKEFCoreTableEntityFinder where TKey : notnull where TValueContainer : class, IValueContainer<TKey>
Type Parameters
TKeyTValueContainerTJVMKeyTJVMValueContainer
- Inheritance
-
KEFCoreTable<TKey, TValueContainer, TJVMKey, TJVMValueContainer>
- Implements
- Inherited Members
Constructors
KEFCoreTable(IKEFCoreDatabase, IEntityType, ILoggingOptions)
Default initializer
public KEFCoreTable(IKEFCoreDatabase database, IEntityType entityType, ILoggingOptions loggingOptions)
Parameters
databaseIKEFCoreDatabaseentityTypeIEntityTypeloggingOptionsILoggingOptions
Properties
AssociatedTopicName
The topic associated to this IKEFCoreTable
public virtual string AssociatedTopicName { get; }
Property Value
Database
The referring IKEFCoreDatabase
public virtual IKEFCoreDatabase Database { get; }
Property Value
EntityType
Associated IEntityType
public virtual IEntityType EntityType { get; }
Property Value
Methods
Commit(IList<Future<RecordMetadata>>?, IEnumerable<IKEFCoreRowBag>)
Stores an IEnumerable<T>
public virtual void Commit(IList<Future<RecordMetadata>>? futures, IEnumerable<IKEFCoreRowBag> records)
Parameters
futuresIList<Future<RecordMetadata>>The Future<V> with RecordMetadata generated from Commit(IList<Future<RecordMetadata>>?, IEnumerable<IKEFCoreRowBag>)
recordsIEnumerable<IKEFCoreRowBag>The IEnumerable<T> to be stored
Create(IUpdateEntry)
Creates a new row
public virtual IKEFCoreRowBag Create(IUpdateEntry entry)
Parameters
entryIUpdateEntry
Returns
Delete(IUpdateEntry)
Deletes a row
public virtual IKEFCoreRowBag Delete(IUpdateEntry entry)
Parameters
entryIUpdateEntry
Returns
Dispose()
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
public virtual void Dispose()
EnsureSynchronized(long)
Verify if local instance is synchronized with the IKEFCoreCluster instance
public bool? EnsureSynchronized(long timeout)
Parameters
timeoutlong
Returns
- bool?
FindAndAddOnTracker(object[])
Find in backend and add on tracker since it was not found before
public void FindAndAddOnTracker(object[] keyValues)
Parameters
keyValuesobject[]The set of value defined by key to be find
GetValueBuffer(IKEFCoreDatabase, object?[]?)
Retrieve anValueBuffer associated to keyValues
public virtual ValueBuffer? GetValueBuffer(IKEFCoreDatabase database, object?[]? keyValues)
Parameters
databaseIKEFCoreDatabaseThe IKEFCoreDatabase requesting the data
keyValuesobject[]The key
Returns
GetValueBuffers(IKEFCoreDatabase)
Retrieve an IEnumerable<T>
public virtual IEnumerable<ValueBuffer> GetValueBuffers(IKEFCoreDatabase database)
Parameters
databaseIKEFCoreDatabaseThe IKEFCoreDatabase requesting the data
Returns
GetValueBuffersByPrefix(IKEFCoreDatabase, object?[]?)
Retrieve the ValueBuffer using prefix scan
public virtual IEnumerable<ValueBuffer> GetValueBuffersByPrefix(IKEFCoreDatabase database, object?[]? prefixValues)
Parameters
databaseIKEFCoreDatabaseThe IKEFCoreDatabase requesting the data
prefixValuesobject[]The prefix
Returns
GetValueBuffersRange(IKEFCoreDatabase, object?[]?, object?[]?)
Retrieve an IEnumerable<T> in the range rangeStart/rangeEnd
public virtual IEnumerable<ValueBuffer> GetValueBuffersRange(IKEFCoreDatabase database, object?[]? rangeStart, object?[]? rangeEnd)
Parameters
databaseIKEFCoreDatabaseThe IKEFCoreDatabase requesting the data
rangeStartobject[]The start key
rangeEndobject[]The end key
Returns
GetValueBuffersReverse(IKEFCoreDatabase)
Retrieve a reverse order IEnumerable<T>
public virtual IEnumerable<ValueBuffer> GetValueBuffersReverse(IKEFCoreDatabase database)
Parameters
databaseIKEFCoreDatabaseThe IKEFCoreDatabase requesting the data
Returns
GetValueBuffersReverseRange(IKEFCoreDatabase, object?[]?, object?[]?)
Retrieve an IEnumerable<T> in the reverse range rangeStart/rangeEnd
public virtual IEnumerable<ValueBuffer> GetValueBuffersReverseRange(IKEFCoreDatabase database, object?[]? rangeStart, object?[]? rangeEnd)
Parameters
databaseIKEFCoreDatabaseThe IKEFCoreDatabase requesting the data
rangeStartobject[]The start key
rangeEndobject[]The end key
Returns
Register(IKEFCoreDatabase)
Register an instance of IKEFCoreDatabase in an instance of IKEFCoreCluster
public virtual void Register(IKEFCoreDatabase database)
Parameters
databaseIKEFCoreDatabaseThe instance of IKEFCoreDatabase to be registered
Start(IKEFCoreDatabase)
Starts the IEntityTypeProducer instance
public void Start(IKEFCoreDatabase database)
Parameters
databaseIKEFCoreDatabaseThe IKEFCoreDatabase requesting the operation
ThrowUpdateConcurrencyException(IUpdateEntry, Dictionary<IProperty, object?>)
Throws an exception indicating that concurrency conflicts were detected.
protected virtual void ThrowUpdateConcurrencyException(IUpdateEntry entry, Dictionary<IProperty, object?> concurrencyConflicts)
Parameters
entryIUpdateEntryThe update entry which resulted in the conflict(s).
concurrencyConflictsDictionary<IProperty, object>The conflicting properties with their associated database values.
Unregister(IKEFCoreDatabase)
Unregister a previously registered instance of IKEFCoreDatabase from an instance of IKEFCoreCluster
public virtual void Unregister(IKEFCoreDatabase database)
Parameters
databaseIKEFCoreDatabaseThe instance of IKEFCoreDatabase to be unregistered
Update(IUpdateEntry)
Updates a row
public virtual IKEFCoreRowBag Update(IUpdateEntry entry)
Parameters
entryIUpdateEntry