EntityFrameworkServicesBuilder 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
为注册服务时要使用的数据库提供程序设计的生成器 API。
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
- 继承
-
EntityFrameworkServicesBuilder
- 派生
- 特性
- 实现
注解
提供程序应创建此类的实例,使用其方法注册服务,然后调用 TryAddCoreServices() 以填写剩余的 Entity Framework 服务。
关系提供程序应改用“EntityFrameworkRelationalServicesBuilder”。
实体框架可确保服务注册到适当的范围。 在某些情况下,提供程序可能会将服务注册到不同的范围,但必须非常小心,即其所有依赖项都可以处理新范围,并且它不会导致依赖于它的服务出现问题。
有关详细信息和示例,请参阅 数据库提供程序和扩展的实现 。
构造函数
| 名称 | 说明 |
|---|---|
| EntityFrameworkServicesBuilder(IServiceCollection) |
数据库提供程序用于创建新的 EntityFrameworkServicesBuilder 提供程序服务注册。 关系提供程序应使用“EntityFrameworkRelationalServicesBuilder”。 |
字段
| 名称 | 说明 |
|---|---|
| CoreServices |
这是一个内部 API,支持Entity Framework Core基础结构,不受与公共 API 相同的兼容性标准的约束。 可以在任何版本中更改或删除它,而不通知。 只需在代码中直接使用它,并非常谨慎地知道这样做可能会导致应用程序在更新到新的Entity Framework Core版本时失败。 |
属性
| 名称 | 说明 |
|---|---|
| ServiceCollectionMap |
对基础 ServiceCollectionMap的访问。 |
方法
| 名称 | 说明 |
|---|---|
| GetServiceCharacteristics(Type) |
获取给定服务类型的值 ServiceCharacteristics 。 |
| TryAdd(Type, Object) |
仅当尚未注册实体框架服务的实现时,才添加一个实现。 此方法只能用于单一实例服务。 |
| TryAdd(Type, Type, Func<IServiceProvider,Object>) |
仅当尚未注册实体框架服务时,才为实体框架服务添加工厂。 服务的范围由 Entity Framework 自动定义。 |
| TryAdd(Type, Type) |
仅当尚未注册实体框架服务的实现时,才添加一个实现。 服务的范围由 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>属性中获取值。 此方法通常由数据库提供程序(和其他扩展)使用。 它通常不用于应用程序代码。 |