DbContextOptionsBuilder<TContext>.ReplaceService Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Overloads
ReplaceService<TService,TCurrentImplementation,TNewImplementation>() |
Replaces the internal Entity Framework implementation of a specific implementation of a service contract with a different implementation. |
ReplaceService<TService,TImplementation>() |
Replaces all internal Entity Framework implementations of a service contract with a different implementation. |
ReplaceService<TService,TCurrentImplementation,TNewImplementation>()
Replaces the internal Entity Framework implementation of a specific implementation of a service contract with a different implementation.
public virtual Microsoft.EntityFrameworkCore.DbContextOptionsBuilder<TContext> ReplaceService<TService,TCurrentImplementation,TNewImplementation> () where TCurrentImplementation : TService where TNewImplementation : TService;
override this.ReplaceService : unit -> Microsoft.EntityFrameworkCore.DbContextOptionsBuilder<'Context (requires 'Context :> Microsoft.EntityFrameworkCore.DbContext)>
Public Overridable Function ReplaceService(Of TService, TCurrentImplementation, TNewImplementation) () As DbContextOptionsBuilder(Of TContext)
Type Parameters
- TService
The type (usually an interface) that defines the contract of the service to replace.
- TCurrentImplementation
The current implementation type for the service.
- TNewImplementation
The new implementation type for the service.
Returns
The same builder instance so that multiple calls can be chained.
Remarks
This method is useful for replacing a single instance of services that can be legitimately registered multiple times in the EF internal service provider.
This method can only be used when EF is building and managing its internal service provider. If the service provider is being built externally and passed to UseInternalServiceProvider(IServiceProvider), then replacement services should be configured on that service provider before it is passed to EF.
The replacement service gets the same scope as the EF service that it is replacing.
See Using DbContextOptions for more information and examples.
Applies to
ReplaceService<TService,TImplementation>()
Replaces all internal Entity Framework implementations of a service contract with a different implementation.
public virtual Microsoft.EntityFrameworkCore.DbContextOptionsBuilder<TContext> ReplaceService<TService,TImplementation> () where TImplementation : TService;
override this.ReplaceService : unit -> Microsoft.EntityFrameworkCore.DbContextOptionsBuilder<'Context (requires 'Context :> Microsoft.EntityFrameworkCore.DbContext)>
Public Overridable Function ReplaceService(Of TService, TImplementation) () As DbContextOptionsBuilder(Of TContext)
Type Parameters
- TService
The type (usually an interface) that defines the contract of the service to replace.
- TImplementation
The new implementation type for the service.
Returns
The same builder instance so that multiple calls can be chained.
Remarks
This method can only be used when EF is building and managing its internal service provider. If the service provider is being built externally and passed to UseInternalServiceProvider(IServiceProvider), then replacement services should be configured on that service provider before it is passed to EF.
The replacement service gets the same scope as the EF service that it is replacing.
See Using DbContextOptions for more information and examples.
Applies to
Entity Framework