Class ModelSourceDependencies
- Namespace
- Microsoft.EntityFrameworkCore.Infrastructure
- Assembly
- Microsoft.EntityFrameworkCore.dll
Service dependencies parameter class for ModelSource
This type is typically used by database providers (and other extensions). It is generally not used in application code.
public sealed record ModelSourceDependencies : IEquatable<ModelSourceDependencies>
- Inheritance
-
ModelSourceDependencies
- Implements
- Inherited Members
Remarks
Do not construct instances of this class directly from either provider or application code as the constructor signature may change as new dependencies are added. Instead, use this type in your constructor so that an instance will be created and injected automatically by the dependency injection container. To create an instance with some dependent services replaced, first resolve the object from the dependency injection container, then replace selected services using the C# 'with' operator. Do not call the constructor at any point in this process.
The service lifetime is Singleton. This means a single instance of each service is used by many DbContext instances. The implementation must be thread-safe. This service cannot depend on services registered as Scoped.
Constructors
ModelSourceDependencies(IModelCustomizer, IModelCacheKeyFactory, IMemoryCache)
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.
[EntityFrameworkInternal]
public ModelSourceDependencies(IModelCustomizer modelCustomizer, IModelCacheKeyFactory modelCacheKeyFactory, IMemoryCache memoryCache)
Parameters
modelCustomizer
IModelCustomizermodelCacheKeyFactory
IModelCacheKeyFactorymemoryCache
IMemoryCache
Remarks
Do not call this constructor directly from either provider or application code as it may change as new dependencies are added. Instead, use this type in your constructor so that an instance will be created and injected automatically by the dependency injection container. To create an instance with some dependent services replaced, first resolve the object from the dependency injection container, then replace selected services using the C# 'with' operator. Do not call the constructor at any point in this process.
Properties
MemoryCache
Gets the IMemoryCache that will be used to cache models.
public IMemoryCache MemoryCache { get; init; }
Property Value
ModelCacheKeyFactory
Gets the IModelCacheKeyFactory that will create keys used to store and lookup models the model cache.
public IModelCacheKeyFactory ModelCacheKeyFactory { get; init; }
Property Value
ModelCustomizer
Gets the IModelCustomizer that will perform additional configuration of the model in addition to what is discovered by convention.
public IModelCustomizer ModelCustomizer { get; init; }
Property Value
Methods
Equals(ModelSourceDependencies?)
public bool Equals(ModelSourceDependencies? other)
Parameters
other
ModelSourceDependencies
Returns
Equals(object?)
public override bool Equals(object? obj)
Parameters
obj
object
Returns
GetHashCode()
public override int GetHashCode()
Returns
ToString()
public override string ToString()
Returns
<Clone>$()
public ModelSourceDependencies <Clone>$()
Returns
Operators
operator ==(ModelSourceDependencies?, ModelSourceDependencies?)
public static bool operator ==(ModelSourceDependencies? left, ModelSourceDependencies? right)
Parameters
left
ModelSourceDependenciesright
ModelSourceDependencies
Returns
operator !=(ModelSourceDependencies?, ModelSourceDependencies?)
public static bool operator !=(ModelSourceDependencies? left, ModelSourceDependencies? right)
Parameters
left
ModelSourceDependenciesright
ModelSourceDependencies