Class StateManagerDependencies
- Assembly
- Microsoft.EntityFrameworkCore.dll
Service dependencies parameter class for StateManager
This type is typically used by database providers (and other extensions). It is generally not used in application code.
public sealed record StateManagerDependencies : IEquatable<StateManagerDependencies>
- Inheritance
-
StateManagerDependencies
- 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 Scoped. This means that each DbContext instance will use its own instance of this service. The implementation may depend on other services registered with any lifetime. The implementation does not need to be thread-safe.
Constructors
StateManagerDependencies(IInternalEntityEntrySubscriber, IInternalEntityEntryNotifier, IValueGenerationManager, IModel, IDatabase, IConcurrencyDetector, ICurrentDbContext, IEntityFinderSource, IDbSetSource, IEntityMaterializerSource, IExecutionStrategy, ICoreSingletonOptions, ILoggingOptions, IDiagnosticsLogger<Update>, IDiagnosticsLogger<ChangeTracking>, INavigationFixer, IInterceptors)
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 StateManagerDependencies(IInternalEntityEntrySubscriber internalEntityEntrySubscriber, IInternalEntityEntryNotifier internalEntityEntryNotifier, IValueGenerationManager valueGenerationManager, IModel model, IDatabase database, IConcurrencyDetector concurrencyDetector, ICurrentDbContext currentContext, IEntityFinderSource entityFinderSource, IDbSetSource setSource, IEntityMaterializerSource entityMaterializerSource, IExecutionStrategy executionStrategy, ICoreSingletonOptions coreSingletonOptions, ILoggingOptions loggingOptions, IDiagnosticsLogger<DbLoggerCategory.Update> updateLogger, IDiagnosticsLogger<DbLoggerCategory.ChangeTracking> changeTrackingLogger, INavigationFixer navigationFixer, IInterceptors interceptors)
Parameters
internalEntityEntrySubscriber
IInternalEntityEntrySubscriberinternalEntityEntryNotifier
IInternalEntityEntryNotifiervalueGenerationManager
IValueGenerationManagermodel
IModeldatabase
IDatabaseconcurrencyDetector
IConcurrencyDetectorcurrentContext
ICurrentDbContextentityFinderSource
IEntityFinderSourcesetSource
IDbSetSourceentityMaterializerSource
IEntityMaterializerSourceexecutionStrategy
IExecutionStrategycoreSingletonOptions
ICoreSingletonOptionsloggingOptions
ILoggingOptionsupdateLogger
IDiagnosticsLogger<DbLoggerCategory.Update>changeTrackingLogger
IDiagnosticsLogger<DbLoggerCategory.ChangeTracking>navigationFixer
INavigationFixerinterceptors
IInterceptors
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
ChangeTrackingLogger
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 IDiagnosticsLogger<DbLoggerCategory.ChangeTracking> ChangeTrackingLogger { get; init; }
Property Value
ConcurrencyDetector
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 IConcurrencyDetector ConcurrencyDetector { get; init; }
Property Value
CoreSingletonOptions
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 ICoreSingletonOptions CoreSingletonOptions { get; init; }
Property Value
CurrentContext
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 ICurrentDbContext CurrentContext { get; init; }
Property Value
Database
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 IDatabase Database { get; init; }
Property Value
EntityFinderSource
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 IEntityFinderSource EntityFinderSource { get; init; }
Property Value
EntityMaterializerSource
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 IEntityMaterializerSource EntityMaterializerSource { get; init; }
Property Value
ExecutionStrategy
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 IExecutionStrategy ExecutionStrategy { get; init; }
Property Value
Interceptors
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 IInterceptors Interceptors { get; }
Property Value
InternalEntityEntryNotifier
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 IInternalEntityEntryNotifier InternalEntityEntryNotifier { get; init; }
Property Value
InternalEntityEntrySubscriber
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 IInternalEntityEntrySubscriber InternalEntityEntrySubscriber { get; init; }
Property Value
LoggingOptions
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 ILoggingOptions LoggingOptions { get; init; }
Property Value
Model
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 IModel Model { get; init; }
Property Value
NavigationFixer
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 INavigationFixer NavigationFixer { get; init; }
Property Value
SetSource
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 IDbSetSource SetSource { get; init; }
Property Value
UpdateLogger
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 IDiagnosticsLogger<DbLoggerCategory.Update> UpdateLogger { get; init; }
Property Value
ValueGenerationManager
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 IValueGenerationManager ValueGenerationManager { get; init; }
Property Value
Methods
Equals(StateManagerDependencies?)
public bool Equals(StateManagerDependencies? other)
Parameters
other
StateManagerDependencies
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 StateManagerDependencies <Clone>$()
Returns
Operators
operator ==(StateManagerDependencies?, StateManagerDependencies?)
public static bool operator ==(StateManagerDependencies? left, StateManagerDependencies? right)
Parameters
left
StateManagerDependenciesright
StateManagerDependencies
Returns
operator !=(StateManagerDependencies?, StateManagerDependencies?)
public static bool operator !=(StateManagerDependencies? left, StateManagerDependencies? right)
Parameters
left
StateManagerDependenciesright
StateManagerDependencies