Interface IKEFCoreCluster
- 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 interface IKEFCoreCluster : IDisposable
- Inherited Members
Properties
ClusterId
The Apche Kafka cluster identifier
string ClusterId { get; }
Property Value
ComplexTypeConverterFactory
The global IComplexTypeConverterFactory
IComplexTypeConverterFactory ComplexTypeConverterFactory { get; }
Property Value
InfrastructureLogger
The IDiagnosticsLogger<TLoggerCategory> to be used to log info within the provider
IDiagnosticsLogger<DbLoggerCategory.Infrastructure> InfrastructureLogger { get; }
Property Value
Model
The associated IModel
IModel Model { get; }
Property Value
Options
KEFCoreOptionsExtension Options { get; }
Property Value
UpdateAdapterFactory
The associated IUpdateAdapterFactory
IUpdateAdapterFactory UpdateAdapterFactory { get; }
Property Value
ValueGeneratorSelector
Returns the IValueGeneratorSelector instance
IValueGeneratorSelector ValueGeneratorSelector { get; }
Property Value
Methods
CreateTopicForEntity(IEntityType)
Creates a topic for IEntityType on Apache Kafka cluster
string CreateTopicForEntity(IEntityType entityType)
Parameters
entityTypeIEntityType
Returns
EnsureConnected(IDiagnosticsLogger<Update>)
Execute the EnsureDatabaseConnected()
bool EnsureConnected(IDiagnosticsLogger<DbLoggerCategory.Update> updateLogger)
Parameters
updateLoggerIDiagnosticsLogger<DbLoggerCategory.Update>
Returns
EnsureCreated(IDiagnosticsLogger<Update>)
Execute the EnsureDatabaseCreated()
bool EnsureCreated(IDiagnosticsLogger<DbLoggerCategory.Update> updateLogger)
Parameters
updateLoggerIDiagnosticsLogger<DbLoggerCategory.Update>
Returns
EnsureDeleted(IDiagnosticsLogger<Update>)
Execute the EnsureDatabaseDeleted()
bool EnsureDeleted(IDiagnosticsLogger<DbLoggerCategory.Update> updateLogger)
Parameters
updateLoggerIDiagnosticsLogger<DbLoggerCategory.Update>
Returns
EnsureSynchronized(long)
Verify if local instance is synchronized with the IKEFCoreCluster instance
bool? EnsureSynchronized(long timeout)
Parameters
timeoutlong
Returns
- bool?
ExecuteTransaction(IList<IUpdateEntry>, IDiagnosticsLogger<Update>)
Executes a transaction
int ExecuteTransaction(IList<IUpdateEntry> entries, IDiagnosticsLogger<DbLoggerCategory.Update> updateLogger)
Parameters
entriesIList<IUpdateEntry>updateLoggerIDiagnosticsLogger<DbLoggerCategory.Update>
Returns
ExecuteTransactionAsync(IList<IUpdateEntry>, IDiagnosticsLogger<Update>, CancellationToken)
Executes a transaction in async
Task<int> ExecuteTransactionAsync(IList<IUpdateEntry> entries, IDiagnosticsLogger<DbLoggerCategory.Update> updateLogger, CancellationToken cancellationToken = default)
Parameters
entriesIList<IUpdateEntry>updateLoggerIDiagnosticsLogger<DbLoggerCategory.Update>cancellationTokenCancellationToken
Returns
GetTable(IEntityType)
Retrieves the IKEFCoreTable associated to IEntityType in the instance of IKEFCoreCluster
IKEFCoreTable GetTable(IEntityType entityType)
Parameters
entityTypeIEntityType
Returns
GetValueBuffer(IEntityType, object?[])
Retrieve the ValueBuffer for a specified key
ValueBuffer? GetValueBuffer(IEntityType entityType, object?[] keyValues)
Parameters
entityTypeIEntityTypekeyValuesobject[]
Returns
GetValueBuffers(IEntityType)
Retrieve the ValueBuffer
IEnumerable<ValueBuffer> GetValueBuffers(IEntityType entityType)
Parameters
entityTypeIEntityType
Returns
GetValueBuffersByPrefix(IEntityType, object?[])
Retrieve the ValueBuffer using prefix scan
IEnumerable<ValueBuffer> GetValueBuffersByPrefix(IEntityType entityType, object?[] prefixValues)
Parameters
entityTypeIEntityTypeprefixValuesobject[]
Returns
GetValueBuffersRange(IEntityType, object?[]?, object?[]?)
Retrieve the ValueBuffer in a range of keys
IEnumerable<ValueBuffer> GetValueBuffersRange(IEntityType entityType, object?[]? rangeStart, object?[]? rangeEnd)
Parameters
entityTypeIEntityTyperangeStartobject[]rangeEndobject[]
Returns
GetValueBuffersReverse(IEntityType)
Retrieve the ValueBuffer in reverse order
IEnumerable<ValueBuffer> GetValueBuffersReverse(IEntityType entityType)
Parameters
entityTypeIEntityType
Returns
GetValueBuffersReverseRange(IEntityType, object?[]?, object?[]?)
Retrieve the ValueBuffer in a range of keys
IEnumerable<ValueBuffer> GetValueBuffersReverseRange(IEntityType entityType, object?[]? rangeStart, object?[]? rangeEnd)
Parameters
entityTypeIEntityTyperangeStartobject[]rangeEndobject[]
Returns
LatestOffsetForEntity(IEntityType)
Returns the latest offset for each partition associated to entityType
IDictionary<int, long> LatestOffsetForEntity(IEntityType entityType)
Parameters
entityTypeIEntityTypeThe IEntityType to check
Returns
- IDictionary<int, long>
A IDictionary<TKey, TValue> containing the values
ResetStreams()
Resets the Apache Kafka streams application associated to this IKEFCoreCluster instance
void ResetStreams()