Interface IValueGeneratorCache
- Namespace
- Microsoft.EntityFrameworkCore.ValueGeneration
- Assembly
- Microsoft.EntityFrameworkCore.dll
Keeps a cache of value generators for properties.
This type is typically used by database providers (and other extensions). It is generally not used in application code.
public interface IValueGeneratorCache
Remarks
The service lifetime is Singleton. This means a single instance is used by many DbContext instances. The implementation must be thread-safe. This service cannot depend on services registered as Scoped.
See Implementation of database providers and extensions for more information and examples.
Methods
GetOrAdd(IProperty, ITypeBase, Func<IProperty, ITypeBase, ValueGenerator>)
Gets the existing value generator from the cache, or creates a new one if one is not present in the cache.
ValueGenerator GetOrAdd(IProperty property, ITypeBase typeBase, Func<IProperty, ITypeBase, ValueGenerator> factory)
Parameters
property
IPropertyThe property to get the value generator for.
typeBase
ITypeBaseThe entity type that the value generator will be used for. When called on inherited properties on derived entity types, this entity type may be different from the declared entity type on
property
factory
Func<IProperty, ITypeBase, ValueGenerator>Factory to create a new value generator if one is not present in the cache.
Returns
- ValueGenerator
The existing or newly created value generator.