Table of Contents

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

TKey
TValueContainer
TJVMKey
TJVMValueContainer
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

cluster IKEFCoreCluster
entityType IEntityType
loggingOptions ILoggingOptions

Properties

AssociatedTopicName

The topic associated to this IKEFCoreTable

public virtual string AssociatedTopicName { get; }

Property Value

string

Cluster

The referring IKEFCoreCluster

public virtual IKEFCoreCluster Cluster { get; }

Property Value

IKEFCoreCluster

EntityType

Associated IEntityType

public virtual IEntityType EntityType { get; }

Property Value

IEntityType

Methods

Commit(IList<Future<RecordMetadata>>?, IEnumerable<IKEFCoreRowBag>)

Stores an IEnumerable<T>

public virtual void Commit(IList<Future<RecordMetadata>>? futures, IEnumerable<IKEFCoreRowBag> records)

Parameters

futures IList<Future<RecordMetadata>>

The Future<V> with RecordMetadata generated from Commit(IList<Future<RecordMetadata>>?, IEnumerable<IKEFCoreRowBag>)

records IEnumerable<IKEFCoreRowBag>

The IEnumerable<T> to be stored

Create(IUpdateEntry)

Creates a new row

public virtual IKEFCoreRowBag Create(IUpdateEntry entry)

Parameters

entry IUpdateEntry

Returns

IKEFCoreRowBag

Delete(IUpdateEntry)

Deletes a row

public virtual IKEFCoreRowBag Delete(IUpdateEntry entry)

Parameters

entry IUpdateEntry

Returns

IKEFCoreRowBag

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

timeout long

Returns

bool?

FindAndAddOnTracker(object[])

Find in backend and add on tracker since it was not found before

public void FindAndAddOnTracker(object[] keyValues)

Parameters

keyValues object[]

The set of value defined by key to be find

GetValueBuffer(object?[]?)

Retrieve anValueBuffer associated to keyValues

public virtual ValueBuffer? GetValueBuffer(object?[]? keyValues)

Parameters

keyValues object[]

The key

Returns

ValueBuffer?

An IEnumerable<T>

GetValueBuffers()

Retrieve an IEnumerable<T>

public virtual IEnumerable<ValueBuffer> GetValueBuffers()

Returns

IEnumerable<ValueBuffer>

An IEnumerable<T>

GetValueBuffersByPrefix(object?[]?)

Retrieve the ValueBuffer using prefix scan

public virtual IEnumerable<ValueBuffer> GetValueBuffersByPrefix(object?[]? prefixValues)

Parameters

prefixValues object[]

The prefix

Returns

IEnumerable<ValueBuffer>

An IEnumerable<T> of ValueBuffer

GetValueBuffersRange(object?[]?, object?[]?)

Retrieve an IEnumerable<T> in the range rangeStart/rangeEnd

public virtual IEnumerable<ValueBuffer> GetValueBuffersRange(object?[]? rangeStart, object?[]? rangeEnd)

Parameters

rangeStart object[]

The start key

rangeEnd object[]

The end key

Returns

IEnumerable<ValueBuffer>

An IEnumerable<T>

GetValueBuffersReverse()

Retrieve a reverse order IEnumerable<T>

public virtual IEnumerable<ValueBuffer> GetValueBuffersReverse()

Returns

IEnumerable<ValueBuffer>

An IEnumerable<T>

GetValueBuffersReverseRange(object?[]?, object?[]?)

Retrieve an IEnumerable<T> in the reverse range rangeStart/rangeEnd

public virtual IEnumerable<ValueBuffer> GetValueBuffersReverseRange(object?[]? rangeStart, object?[]? rangeEnd)

Parameters

rangeStart object[]

The start key

rangeEnd object[]

The end key

Returns

IEnumerable<ValueBuffer>

An IEnumerable<T>

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

entry IUpdateEntry

The update entry which resulted in the conflict(s).

concurrencyConflicts Dictionary<IProperty, object>

The conflicting properties with their associated database values.

Update(IUpdateEntry)

Updates a row

public virtual IKEFCoreRowBag Update(IUpdateEntry entry)

Parameters

entry IUpdateEntry

Returns

IKEFCoreRowBag