Table of Contents

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 IProperty

The property to get the value generator for.

typeBase ITypeBase

The 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.