EntityFrameworkServicesBuilder 类

定义

一个生成器 API,专为在注册服务时使用的数据库提供程序而设计。

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
继承
EntityFrameworkServicesBuilder
派生
实现

注解

提供程序应创建此类的实例,使用其方法来注册服务,然后调用 TryAddCoreServices() 以填写剩余的 Entity Framework 服务。

关系提供程序应改用“EntityFrameworkRelationalServicesBuilder”。

实体框架确保向适当的范围注册服务。 在某些情况下,提供程序可能会向不同的范围注册服务,但必须非常小心,其所有依赖项都可以处理新范围,并且不会对依赖该服务的服务造成问题。

有关详细信息 和示例,请参阅数据库提供程序和扩展的实现

构造函数

EntityFrameworkServicesBuilder(IServiceCollection)

由数据库提供程序用于创建新的 EntityFrameworkServicesBuilder 提供程序服务注册。 关系提供程序应使用“EntityFrameworkRelationalServicesBuilder”。

字段

CoreServices

这是一个支持 Entity Framework Core 基础结构的内部 API,不受与公共 API 相同的兼容性标准的约束。 可能会在任何版本中更改或删除它,而无需通知。 仅应在代码中非常谨慎地直接使用它,并且知道在更新到新的 Entity Framework Core 版本时这样做可能会导致应用程序失败。

属性

ServiceCollectionMap

访问基础 ServiceCollectionMap

方法

GetServiceCharacteristics(Type)

ServiceCharacteristics获取给定服务类型的 。

TryAdd(Type, Object)

仅当尚未注册实体框架服务时,才添加实体框架服务的实现。 此方法只能用于单一实例服务。

TryAdd(Type, Type)

仅当尚未注册实体框架服务时,才添加实体框架服务的实现。 服务的范围由 Entity Framework 自动定义。

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

仅当尚未注册实体框架服务时,才为实体框架服务添加工厂。 服务的范围由 Entity Framework 自动定义。

TryAdd<TService,TImplementation>()

仅当尚未注册实体框架服务时,才添加实体框架服务的实现。 服务的范围由 Entity Framework 自动定义。

TryAdd<TService,TImplementation>(Func<IServiceProvider,TImplementation>)

仅当尚未注册实体框架服务时,才为实体框架服务添加工厂。 服务的范围由 Entity Framework 自动定义。

TryAdd<TService>(Func<IServiceProvider,TService>)

仅当尚未注册实体框架服务时,才为实体框架服务添加工厂。 服务的范围由 Entity Framework 自动定义。

TryAdd<TService>(TService)

仅当尚未注册实体框架服务时,才添加实体框架服务的实现。 此方法只能用于单一实例服务。

TryAddCoreServices()

注册提供程序尚未注册的所有服务的默认实现。 数据库提供程序必须调用此方法作为服务注册的最后一步,即注册所有提供程序服务之后。

TryAddProviderSpecificServices(Action<ServiceCollectionMap>)

数据库提供程序应调用此方法以访问基础 ServiceCollectionMap ,以便可以注册特定于提供程序的服务。 请注意,实体框架服务的实现应直接在 上注册, EntityFrameworkServicesBuilder 而不是通过此方法注册。

TryGetServiceCharacteristics(Type)

ServiceCharacteristics获取给定服务类型的 。

显式接口实现

IInfrastructure<IServiceCollection>.Instance

IServiceCollection获取正在配置的 。

此属性适用于需要利用未在公共 API 图面中直接公开的服务的扩展方法。

扩展方法

GetInfrastructure<T>(IInfrastructure<T>)

从使用 IInfrastructure<T>隐藏的属性获取值。

此方法通常由数据库提供程序 (和其他扩展) 使用。 它通常不用于应用程序代码。

适用于