Table of Contents

Class KafkaTable<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 KafkaTable<TKey, TValueContainer, TJVMKey, TJVMValueContainer> : IKafkaTable, IEntityTypeProducer, IDisposable where TKey : notnull where TValueContainer : class, IValueContainer<TKey>

Type Parameters

TKey
TValueContainer
TJVMKey
TJVMValueContainer
Inheritance
KafkaTable<TKey, TValueContainer, TJVMKey, TJVMValueContainer>
Implements
Inherited Members

Constructors

KafkaTable(IKafkaCluster, IEntityType, bool)

Default initializer

public KafkaTable(IKafkaCluster cluster, IEntityType entityType, bool sensitiveLoggingEnabled)

Parameters

cluster IKafkaCluster
entityType IEntityType
sensitiveLoggingEnabled bool

Properties

Cluster

The referring IKafkaCluster

public virtual IKafkaCluster Cluster { get; }

Property Value

IKafkaCluster

EntityType

Associated IEntityType

public virtual IEntityType EntityType { get; }

Property Value

IEntityType

Rows

Current rows

public virtual IEnumerable<object?[]> Rows { get; }

Property Value

IEnumerable<object[]>

ValueBuffers

The current ValueBuffers

public virtual IEnumerable<ValueBuffer> ValueBuffers { get; }

Property Value

IEnumerable<ValueBuffer>

Methods

BumpValueGenerators(object?[])

Bumps values

public virtual void BumpValueGenerators(object?[] row)

Parameters

row object[]

Commit(IEnumerable<IKafkaRowBag>)

Stores an IEnumerable<T>

public virtual IEnumerable<Future<RecordMetadata>> Commit(IEnumerable<IKafkaRowBag> records)

Parameters

records IEnumerable<IKafkaRowBag>

The IEnumerable<T> to be stored

Returns

IEnumerable<Future<RecordMetadata>>

Create(IUpdateEntry)

Creates a new row

public virtual IKafkaRowBag Create(IUpdateEntry entry)

Parameters

entry IUpdateEntry

Returns

IKafkaRowBag

Delete(IUpdateEntry)

Deletes a row

public virtual IKafkaRowBag Delete(IUpdateEntry entry)

Parameters

entry IUpdateEntry

Returns

IKafkaRowBag

Dispose()

Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

public virtual void Dispose()

GetIntegerValueGenerator<TProperty>(IProperty, IReadOnlyList<IKafkaTable>)

public virtual KafkaIntegerValueGenerator<TProperty> GetIntegerValueGenerator<TProperty>(IProperty property, IReadOnlyList<IKafkaTable> tables)

Parameters

property IProperty
tables IReadOnlyList<IKafkaTable>

Returns

KafkaIntegerValueGenerator<TProperty>

Type Parameters

TProperty

SnapshotRows()

Create snapshot

public virtual IReadOnlyList<object?[]> SnapshotRows()

Returns

IReadOnlyList<object[]>

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 IKafkaRowBag Update(IUpdateEntry entry)

Parameters

entry IUpdateEntry

Returns

IKafkaRowBag