EntityFrameworkServicesBuilder Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Una API de generador diseñada para que los proveedores de bases de datos se usen al registrar servicios.
public class EntityFrameworkServicesBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.Extensions.DependencyInjection.IServiceCollection>
[System.Runtime.CompilerServices.Nullable(0)]
public class EntityFrameworkServicesBuilder
public class EntityFrameworkServicesBuilder
type EntityFrameworkServicesBuilder = class
interface IInfrastructure<IServiceCollection>
[<System.Runtime.CompilerServices.Nullable(0)>]
type EntityFrameworkServicesBuilder = class
type EntityFrameworkServicesBuilder = class
Public Class EntityFrameworkServicesBuilder
Implements IInfrastructure(Of IServiceCollection)
Public Class EntityFrameworkServicesBuilder
- Herencia
-
EntityFrameworkServicesBuilder
- Derivado
- Atributos
- Implementaciones
Comentarios
Los proveedores deben crear una instancia de esta clase, usar sus métodos para registrar servicios y, a continuación, llamar TryAddCoreServices() a para rellenar los servicios de Entity Framework restantes.
En su lugar, los proveedores relacionales deben usar "EntityFrameworkRelationalServicesBuilder".
Entity Framework garantiza que los servicios estén registrados con el ámbito adecuado. En algunos casos, un proveedor puede registrar un servicio con un ámbito diferente, pero se debe tener gran cuidado de que todas sus dependencias puedan controlar el nuevo ámbito y que no provoque un problema para los servicios que dependen de él.
Consulte Implementación de proveedores y extensiones de base de datos para obtener más información y ejemplos.
Constructores
| Nombre | Description |
|---|---|
| EntityFrameworkServicesBuilder(IServiceCollection) |
Los proveedores de bases de datos usan para crear un nuevo EntityFrameworkServicesBuilder para el registro de servicios de proveedor. Los proveedores relacionales deben usar "EntityFrameworkRelationalServicesBuilder". |
Campos
| Nombre | Description |
|---|---|
| CoreServices |
Se trata de una API interna que admite la infraestructura de Entity Framework Core y no está sujeta a los mismos estándares de compatibilidad que las API públicas. Se puede cambiar o quitar sin previo aviso en ninguna versión. Solo debe usarlo directamente en el código con extrema precaución y saber que hacerlo puede dar lugar a errores de aplicación al actualizar a una nueva versión de Entity Framework Core. |
Propiedades
| Nombre | Description |
|---|---|
| ServiceCollectionMap |
Acceso a la base de datos subyacente ServiceCollectionMap. |
Métodos
| Nombre | Description |
|---|---|
| GetServiceCharacteristics(Type) |
Obtiene para ServiceCharacteristics el tipo de servicio especificado. |
| TryAdd(Type, Object) |
Agrega una implementación de un servicio de Entity Framework solo si aún no se ha registrado uno. Este método solo se puede usar para los servicios singleton. |
| TryAdd(Type, Type, Func<IServiceProvider,Object>) |
Agrega un generador para un servicio de Entity Framework solo si aún no se ha registrado uno. Entity Framework define automáticamente el ámbito del servicio. |
| TryAdd(Type, Type) |
Agrega una implementación de un servicio de Entity Framework solo si aún no se ha registrado uno. Entity Framework define automáticamente el ámbito del servicio. |
| TryAdd<TService,TImplementation>() |
Agrega una implementación de un servicio de Entity Framework solo si aún no se ha registrado uno. Entity Framework define automáticamente el ámbito del servicio. |
| TryAdd<TService,TImplementation>(Func<IServiceProvider,TImplementation>) |
Agrega un generador para un servicio de Entity Framework solo si aún no se ha registrado uno. Entity Framework define automáticamente el ámbito del servicio. |
| TryAdd<TService>(Func<IServiceProvider,TService>) |
Agrega un generador para un servicio de Entity Framework solo si aún no se ha registrado uno. Entity Framework define automáticamente el ámbito del servicio. |
| TryAdd<TService>(TService) |
Agrega una implementación de un servicio de Entity Framework solo si aún no se ha registrado uno. Este método solo se puede usar para los servicios singleton. |
| TryAddCoreServices() |
Registra las implementaciones predeterminadas de todos los servicios no registrados por el proveedor. Los proveedores de bases de datos deben llamar a este método como último paso del registro del servicio, es decir, una vez registrados todos los servicios de proveedor. |
| TryAddProviderSpecificServices(Action<ServiceCollectionMap>) |
Los proveedores de bases de datos deben llamar a este método para acceder al subyacente ServiceCollectionMap de forma que se puedan registrar servicios específicos del proveedor. Tenga en cuenta que las implementaciones de los servicios de Entity Framework deben registrarse directamente en y EntityFrameworkServicesBuilder no a través de este método. |
| TryGetServiceCharacteristics(Type) |
Obtiene para ServiceCharacteristics el tipo de servicio especificado. |
Implementaciones de interfaz explícitas
| Nombre | Description |
|---|---|
| IInfrastructure<IServiceCollection>.Instance |
Obtiene el IServiceCollection objeto que se va a configurar. Esta propiedad está pensada para su uso por métodos de extensión que necesitan hacer uso de servicios que no se exponen directamente en la superficie de API pública. |
Métodos de extensión
| Nombre | Description |
|---|---|
| GetInfrastructure<T>(IInfrastructure<T>) |
Obtiene el valor de una propiedad que se oculta mediante IInfrastructure<T>. Normalmente, este método lo usan los proveedores de bases de datos (y otras extensiones). Por lo general, no se usa en el código de aplicación. |