Compartir a través de


EntityFrameworkServicesBuilder Clase

Definición

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>
public class EntityFrameworkServicesBuilder
type EntityFrameworkServicesBuilder = class
    interface IInfrastructure<IServiceCollection>
type EntityFrameworkServicesBuilder = class
Public Class EntityFrameworkServicesBuilder
Implements IInfrastructure(Of IServiceCollection)
Public Class EntityFrameworkServicesBuilder
Herencia
EntityFrameworkServicesBuilder
Derivado
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 cause un problema para los servicios que dependen de él.

Consulte Implementación de proveedores y extensiones de bases de datos para obtener más información y ejemplos.

Constructores

EntityFrameworkServicesBuilder(IServiceCollection)

Usado por los proveedores de bases de datos para crear un nuevo EntityFrameworkServicesBuilder para el registro de servicios de proveedor. Los proveedores relacionales deben usar "EntityFrameworkRelationalServicesBuilder".

Campos

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

ServiceCollectionMap

Acceso al objeto subyacente ServiceCollectionMap.

Métodos

GetServiceCharacteristics(Type)

Obtiene para ServiceCharacteristics el tipo de servicio especificado.

TryAdd(Type, Object)

Agrega una implementación de un servicio 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)

Agrega una implementación de un servicio Entity Framework solo si aún no se ha registrado uno. Entity Framework define automáticamente el ámbito del servicio.

TryAdd(Type, Type, Func<IServiceProvider,Object>)

Agrega un generador para un servicio 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 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 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 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 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 del proveedor.

TryAddProviderSpecificServices(Action<ServiceCollectionMap>)

Los proveedores de bases de datos deben llamar a este método para acceder al subyacente ServiceCollectionMap de modo que se puedan registrar servicios específicos del proveedor. Tenga en cuenta que las implementaciones de servicios de Entity Framework deben registrarse directamente en EntityFrameworkServicesBuilder y no a través de este método.

TryGetServiceCharacteristics(Type)

Obtiene para ServiceCharacteristics el tipo de servicio especificado.

Implementaciones de interfaz explícitas

IInfrastructure<IServiceCollection>.Instance

Obtiene el objeto IServiceCollection que se está configurando.

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 la API pública.

Métodos de extensión

GetInfrastructure<T>(IInfrastructure<T>)

Obtiene el valor de una propiedad que se oculta mediante IInfrastructure<T>.

Normalmente, los proveedores de bases de datos usan este método (y otras extensiones). Por lo general, no se usa en el código de aplicación.

Se aplica a