Class RelationalMethodCallTranslatorProviderDependencies
- Namespace
- Microsoft.EntityFrameworkCore.Query
- Assembly
- Microsoft.EntityFrameworkCore.Relational.dll
Service dependencies parameter class for RelationalMethodCallTranslatorProvider
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 Singleton. This means a single instance is used by many Microsoft.EntityFrameworkCore.DbContext instances. The implementation must be thread-safe. This service cannot depend on services registered as Scoped.
public sealed class RelationalMethodCallTranslatorProviderDependencies
- Inheritance
-
RelationalMethodCallTranslatorProviderDependencies
- Inherited Members
Constructors
RelationalMethodCallTranslatorProviderDependencies(ISqlExpressionFactory, IEnumerable<IMethodCallTranslatorPlugin>, IRelationalTypeMappingSource)
Creates the service dependencies parameter object for a RelationalMethodCallTranslatorProvider.
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 RelationalMethodCallTranslatorProviderDependencies(ISqlExpressionFactory sqlExpressionFactory, IEnumerable<IMethodCallTranslatorPlugin> plugins, IRelationalTypeMappingSource typeMappingSource)
Parameters
sqlExpressionFactory
ISqlExpressionFactoryplugins
IEnumerable<IMethodCallTranslatorPlugin>typeMappingSource
IRelationalTypeMappingSource
Properties
Plugins
Registered plugins.
public IEnumerable<IMethodCallTranslatorPlugin> Plugins { get; }
Property Value
RelationalTypeMappingSource
Relational Type Mapping Source.
public IRelationalTypeMappingSource RelationalTypeMappingSource { get; }
Property Value
SqlExpressionFactory
The expression factory..
public ISqlExpressionFactory SqlExpressionFactory { get; }
Property Value
Methods
With(ISqlExpressionFactory)
Clones this dependency parameter object with one service replaced.
public RelationalMethodCallTranslatorProviderDependencies With(ISqlExpressionFactory sqlExpressionFactory)
Parameters
sqlExpressionFactory
ISqlExpressionFactoryA replacement for the current dependency of this type.
Returns
- RelationalMethodCallTranslatorProviderDependencies
A new parameter object with the given service replaced.
With(IRelationalTypeMappingSource)
Clones this dependency parameter object with one service replaced.
public RelationalMethodCallTranslatorProviderDependencies With(IRelationalTypeMappingSource typeMappingSource)
Parameters
typeMappingSource
IRelationalTypeMappingSourceA replacement for the current dependency of this type.
Returns
- RelationalMethodCallTranslatorProviderDependencies
A new parameter object with the given service replaced.
With(IEnumerable<IMethodCallTranslatorPlugin>)
Clones this dependency parameter object with one service replaced.
public RelationalMethodCallTranslatorProviderDependencies With(IEnumerable<IMethodCallTranslatorPlugin> plugins)
Parameters
plugins
IEnumerable<IMethodCallTranslatorPlugin>A replacement for the current dependency of this type.
Returns
- RelationalMethodCallTranslatorProviderDependencies
A new parameter object with the given service replaced.