Class RelationalConnectionDependencies
- Namespace
- Microsoft.EntityFrameworkCore.Storage
- Assembly
- Microsoft.EntityFrameworkCore.Relational.dll
Service dependencies parameter class for RelationalConnection
This type is typically used by database providers (and other extensions). It is generally not used in application code.
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 'With...' methods. Do not call the constructor at any point in this process.
The service lifetime is Scoped. This means that each Microsoft.EntityFrameworkCore.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.
public sealed class RelationalConnectionDependencies
- Inheritance
-
RelationalConnectionDependencies
- Inherited Members
Constructors
RelationalConnectionDependencies(IDbContextOptions, IDiagnosticsLogger<Transaction>, IDiagnosticsLogger<Connection>, INamedConnectionStringResolver, IRelationalTransactionFactory, ICurrentDbContext)
Creates the service dependencies parameter object for a RelationalConnection.
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 'With...' methods. Do not call the constructor at any point in this process.
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 RelationalConnectionDependencies(IDbContextOptions contextOptions, IDiagnosticsLogger<DbLoggerCategory.Database.Transaction> transactionLogger, IDiagnosticsLogger<DbLoggerCategory.Database.Connection> connectionLogger, INamedConnectionStringResolver connectionStringResolver, IRelationalTransactionFactory relationalTransactionFactory, ICurrentDbContext currentContext)
Parameters
contextOptions
IDbContextOptionstransactionLogger
IDiagnosticsLogger<Transaction>connectionLogger
IDiagnosticsLogger<Connection>connectionStringResolver
INamedConnectionStringResolverrelationalTransactionFactory
IRelationalTransactionFactorycurrentContext
ICurrentDbContext
Properties
ConnectionLogger
The logger to which connection messages will be written.
public IDiagnosticsLogger<DbLoggerCategory.Database.Connection> ConnectionLogger { get; }
Property Value
- IDiagnosticsLogger<Connection>
ConnectionStringResolver
A service for resolving a connection string from a name.
public INamedConnectionStringResolver ConnectionStringResolver { get; }
Property Value
ContextOptions
The options for the current context instance.
public IDbContextOptions ContextOptions { get; }
Property Value
- IDbContextOptions
CurrentContext
Contains the Microsoft.EntityFrameworkCore.DbContext instance currently in use.
public ICurrentDbContext CurrentContext { get; }
Property Value
- ICurrentDbContext
RelationalTransactionFactory
A service for creating RelationalTransaction instances.
public IRelationalTransactionFactory RelationalTransactionFactory { get; }
Property Value
TransactionLogger
The logger to which transaction messages will be written.
public IDiagnosticsLogger<DbLoggerCategory.Database.Transaction> TransactionLogger { get; }
Property Value
- IDiagnosticsLogger<Transaction>
Methods
With(IDiagnosticsLogger<Connection>)
Clones this dependency parameter object with one service replaced.
public RelationalConnectionDependencies With(IDiagnosticsLogger<DbLoggerCategory.Database.Connection> connectionLogger)
Parameters
connectionLogger
IDiagnosticsLogger<Connection>A replacement for the current dependency of this type.
Returns
- RelationalConnectionDependencies
A new parameter object with the given service replaced.
With(IDiagnosticsLogger<Transaction>)
Clones this dependency parameter object with one service replaced.
public RelationalConnectionDependencies With(IDiagnosticsLogger<DbLoggerCategory.Database.Transaction> transactionLogger)
Parameters
transactionLogger
IDiagnosticsLogger<Transaction>A replacement for the current dependency of this type.
Returns
- RelationalConnectionDependencies
A new parameter object with the given service replaced.
With(ICurrentDbContext)
Clones this dependency parameter object with one service replaced.
public RelationalConnectionDependencies With(ICurrentDbContext currentContext)
Parameters
currentContext
ICurrentDbContextA replacement for the current dependency of this type.
Returns
- RelationalConnectionDependencies
A new parameter object with the given service replaced.
With(IDbContextOptions)
Clones this dependency parameter object with one service replaced.
public RelationalConnectionDependencies With(IDbContextOptions contextOptions)
Parameters
contextOptions
IDbContextOptionsA replacement for the current dependency of this type.
Returns
- RelationalConnectionDependencies
A new parameter object with the given service replaced.
With(IRelationalTransactionFactory)
Clones this dependency parameter object with one service replaced.
public RelationalConnectionDependencies With(IRelationalTransactionFactory relationalTransactionFactory)
Parameters
relationalTransactionFactory
IRelationalTransactionFactoryA replacement for the current dependency of this type.
Returns
- RelationalConnectionDependencies
A new parameter object with the given service replaced.
With(INamedConnectionStringResolver)
Clones this dependency parameter object with one service replaced.
public RelationalConnectionDependencies With(INamedConnectionStringResolver connectionStringResolver)
Parameters
connectionStringResolver
INamedConnectionStringResolverA replacement for the current dependency of this type.
Returns
- RelationalConnectionDependencies
A new parameter object with the given service replaced.