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(IKEFCoreCluster, IEntityType, ILoggingOptions)
Default initializer
public KEFCoreTable(IKEFCoreCluster cluster, IEntityType entityType, ILoggingOptions loggingOptions)
Parameters
clusterIKEFCoreClusterentityTypeIEntityTypeloggingOptionsILoggingOptions
Properties
AssociatedTopicName
The topic associated to this IKEFCoreTable
public virtual string AssociatedTopicName { get; }
Property Value
Cluster
The referring IKEFCoreCluster
public virtual IKEFCoreCluster Cluster { 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(object?[]?)
Retrieve anValueBuffer associated to keyValues
public virtual ValueBuffer? GetValueBuffer(object?[]? keyValues)
Parameters
keyValuesobject[]The key
Returns
GetValueBuffers()
Retrieve an IEnumerable<T>
public virtual IEnumerable<ValueBuffer> GetValueBuffers()
Returns
GetValueBuffersByPrefix(object?[]?)
Retrieve the ValueBuffer using prefix scan
public virtual IEnumerable<ValueBuffer> GetValueBuffersByPrefix(object?[]? prefixValues)
Parameters
prefixValuesobject[]The prefix
Returns
GetValueBuffersRange(object?[]?, object?[]?)
Retrieve an IEnumerable<T> in the range rangeStart/rangeEnd
public virtual IEnumerable<ValueBuffer> GetValueBuffersRange(object?[]? rangeStart, object?[]? rangeEnd)
Parameters
Returns
GetValueBuffersReverse()
Retrieve a reverse order IEnumerable<T>
public virtual IEnumerable<ValueBuffer> GetValueBuffersReverse()
Returns
GetValueBuffersReverseRange(object?[]?, object?[]?)
Retrieve an IEnumerable<T> in the reverse range rangeStart/rangeEnd
public virtual IEnumerable<ValueBuffer> GetValueBuffersReverseRange(object?[]? rangeStart, object?[]? rangeEnd)
Parameters
Returns
Start()
Starts the IEntityTypeProducer instance
public void Start()
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.
Update(IUpdateEntry)
Updates a row
public virtual IKEFCoreRowBag Update(IUpdateEntry entry)
Parameters
entryIUpdateEntry