Class EntityTypeProducer<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 EntityTypeProducer<TKey, TValueContainer, TJVMKey, TJVMValueContainer> : IEntityTypeProducer<TKey>, ITransactionalEntityTypeProducer, IEntityTypeProducer, IDisposable where TKey : notnull where TValueContainer : class, IValueContainer<TKey>
Type Parameters
TKeyTValueContainerTJVMKeyTJVMValueContainer
- Inheritance
-
EntityTypeProducer<TKey, TValueContainer, TJVMKey, TJVMValueContainer>
- Implements
-
IEntityTypeProducer<TKey>
- Inherited Members
Constructors
EntityTypeProducer(IKEFCoreDatabase, IEntityType)
Default initializer
public EntityTypeProducer(IKEFCoreDatabase database, IEntityType entityType)
Parameters
databaseIKEFCoreDatabaseentityTypeIEntityType
Properties
EntityType
Associated IEntityType
public virtual IEntityType EntityType { get; }
Property Value
Methods
Commit(IList<Future<RecordMetadata>>?, IEnumerable<IKEFCoreRowBag>)
Stores an IEnumerable<T>
public 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
Dispose()
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
public void Dispose()
EnsureSynchronized(long)
Verify if local instance is synchronized with the IKEFCoreCluster instance
public bool? EnsureSynchronized(long timeout)
Parameters
timeoutlong
Returns
- bool?
Exist(TKey)
Check if a key exist
public bool Exist(TKey key)
Parameters
keyTKeyThe key to check for existence
Returns
GetValueBuffer(IKEFCoreDatabase, object?[]?)
Retrieve anValueBuffer associated to keyValues
public ValueBuffer? GetValueBuffer(IKEFCoreDatabase database, object?[]? keyValues)
Parameters
databaseIKEFCoreDatabaseThe IKEFCoreDatabase requesting the data
keyValuesobject[]The key
Returns
GetValueBuffers(IKEFCoreDatabase)
Retrieve an IEnumerable<T>
public IEnumerable<ValueBuffer> GetValueBuffers(IKEFCoreDatabase database)
Parameters
databaseIKEFCoreDatabaseThe IKEFCoreDatabase requesting the data
Returns
GetValueBuffersByPrefix(IKEFCoreDatabase, object?[]?)
Retrieve the ValueBuffer using prefix scan
public 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 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 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 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
TryAddKey(object[])
Try add a new item based on the values associated to the keyValues
public void TryAddKey(object[] keyValues)
Parameters
keyValuesobject[]The key values to manage
TryGetProperties(TKey, out IDictionary<string, object?>, out IDictionary<string, object?>)
public bool TryGetProperties(TKey key, out IDictionary<string, object?> properties, out IDictionary<string, object?> complexProperties)
Parameters
keyTKeypropertiesIDictionary<string, object>complexPropertiesIDictionary<string, object>
Returns
TryGetValueBuffer(TKey, out ValueBuffer)
Returns the values associated to the key
public bool TryGetValueBuffer(TKey key, out ValueBuffer valueBuffer)
Parameters
keyTKeyThe key to retrieve
valueBufferValueBufferA ValueBuffer containing the information, or null otherwise
Returns
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