EntityFrameworkServicesBuilder 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
一个生成器 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>隐藏的属性获取值。 此方法通常由数据库提供程序 (和其他扩展) 使用。 它通常不用于应用程序代码。 |