语言

ServiceCollectionMap 类

定义

提供一个地图,该映射 IServiceCollection 允许 ServiceDescriptor 在每次完成此操作时对服务集合进行线性扫描即可有条件地添加或重新写入条目。

[System.Runtime.CompilerServices.Nullable(0)]
public class ServiceCollectionMap : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Infrastructure.IInternalServiceCollectionMap>
public class ServiceCollectionMap : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Internal.InternalServiceCollectionMap>
public class ServiceCollectionMap : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Infrastructure.IInternalServiceCollectionMap>
[<System.Runtime.CompilerServices.Nullable(0)>]
type ServiceCollectionMap = class
    interface IInfrastructure<IInternalServiceCollectionMap>
type ServiceCollectionMap = class
    interface IInfrastructure<InternalServiceCollectionMap>
type ServiceCollectionMap = class
    interface IInfrastructure<IInternalServiceCollectionMap>
Public Class ServiceCollectionMap
Implements IInfrastructure(Of IInternalServiceCollectionMap)
Public Class ServiceCollectionMap
Implements IInfrastructure(Of InternalServiceCollectionMap)
继承
ServiceCollectionMap
特性
实现
IInfrastructure<IInternalServiceCollectionMap> IInfrastructure<Microsoft.EntityFrameworkCore.Internal.InternalServiceCollectionMap>

注解

请注意,在由地图管理集合时,不应以其他方式修改集合。 使用地图进行修改后,可以正常使用集合。

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

构造函数

名称 说明
ServiceCollectionMap(IServiceCollection)

创建用于对给定IServiceCollection操作的一个新ServiceCollectionMap项。

属性

名称 说明
ServiceCollection

基础 IServiceCollection。

方法

名称 说明
TryAdd(Type, Func<IServiceProvider,Object>, ServiceLifetime)

如果给定的服务类型尚未注册,则添加由给定工厂实现的服务。

TryAdd(Type, Type, ServiceLifetime)

如果给定的服务类型尚未注册任何服务,则添加由给定具体类型实现的服务。

TryAddEnumerable(Type, Type, Func<IServiceProvider,Object>, ServiceLifetime)

将给定工厂实现的服务添加到实现给定协定的服务列表中。 仅当集合不包含同一服务和实现类型的其他注册时,才会添加该服务。

TryAddEnumerable(Type, Type, ServiceLifetime)

将由给定具体类型实现的服务添加到实现给定协定的服务列表中。 仅当集合不包含同一服务和实现类型的其他注册时,才会添加该服务。

TryAddScoped(Type, Func<IServiceProvider,Object>)

Scoped如果给定的服务类型尚未注册,则添加由给定工厂实现的服务。

TryAddScoped(Type, Type)

Scoped如果给定的服务类型尚未注册任何服务,则添加由给定具体类型实现的服务。

TryAddScoped<TService,TImplementation>()

Scoped如果给定的服务类型尚未注册任何服务,则添加由给定具体类型实现的服务。

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

Scoped如果给定的服务类型尚未注册,则添加由给定工厂实现的服务。

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

Scoped如果给定的服务类型尚未注册,则添加由给定工厂实现的服务。

TryAddScopedEnumerable(Type, Type)

Scoped将由给定具体类型实现的服务添加到实现给定协定的服务列表中。 仅当集合不包含同一服务和实现类型的其他注册时,才会添加该服务。

TryAddScopedEnumerable<TService,TImplementation>()

Scoped将由给定具体类型实现的服务添加到实现给定协定的服务列表中。 仅当集合不包含同一服务和实现类型的其他注册时,才会添加该服务。

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

Scoped将给定工厂实现的服务添加到实现给定协定的服务列表中。 仅当集合不包含同一服务和实现类型的其他注册时,才会添加该服务。

TryAddSingleton(Type, Func<IServiceProvider,Object>)

Singleton如果给定的服务类型尚未注册,则添加由给定工厂实现的服务。

TryAddSingleton(Type, Object)

Singleton如果给定服务类型尚未注册任何服务,则添加由给定实例实现的服务。

TryAddSingleton(Type, Type)

Singleton如果给定的服务类型尚未注册任何服务,则添加由给定具体类型实现的服务。

TryAddSingleton<TService,TImplementation>()

Singleton如果给定的服务类型尚未注册任何服务,则添加由给定具体类型实现的服务。

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

Singleton如果给定的服务类型尚未注册,则添加由给定工厂实现的服务。

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

Singleton如果给定的服务类型尚未注册,则添加由给定工厂实现的服务。

TryAddSingleton<TService>(TService)

Singleton如果给定服务类型尚未注册任何服务,则添加由给定实例实现的服务。

TryAddSingletonEnumerable(Type, Object)

Singleton将给定实例实现的服务添加到实现给定协定的服务列表中。 仅当集合不包含同一服务和实现类型的其他注册时,才会添加该服务。

TryAddSingletonEnumerable(Type, Type)

Singleton将由给定具体类型实现的服务添加到实现给定协定的服务列表中。 仅当集合不包含同一服务和实现类型的其他注册时,才会添加该服务。

TryAddSingletonEnumerable<TService,TImplementation>()

Singleton将由给定具体类型实现的服务添加到实现给定协定的服务列表中。 仅当集合不包含同一服务和实现类型的其他注册时,才会添加该服务。

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

Singleton将给定工厂实现的服务添加到实现给定协定的服务列表中。 仅当集合不包含同一服务和实现类型的其他注册时,才会添加该服务。

TryAddSingletonEnumerable<TService>(TService)

Singleton将给定实例实现的服务添加到实现给定协定的服务列表中。 仅当集合不包含同一服务和实现类型的其他注册时,才会添加该服务。

TryAddTransient(Type, Func<IServiceProvider,Object>)

Transient如果给定的服务类型尚未注册,则添加由给定工厂实现的服务。

TryAddTransient(Type, Type)

Transient如果给定的服务类型尚未注册任何服务,则添加由给定具体类型实现的服务。

TryAddTransient<TService,TImplementation>()

Transient如果给定的服务类型尚未注册任何服务,则添加由给定具体类型实现的服务。

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

Transient如果给定的服务类型尚未注册,则添加由给定工厂实现的服务。

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

Transient如果给定的服务类型尚未注册,则添加由给定工厂实现的服务。

TryAddTransientEnumerable(Type, Type)

Transient将由给定具体类型实现的服务添加到实现给定协定的服务列表中。 仅当集合不包含同一服务和实现类型的其他注册时,才会添加该服务。

TryAddTransientEnumerable<TService,TImplementation>()

Transient将由给定具体类型实现的服务添加到实现给定协定的服务列表中。 仅当集合不包含同一服务和实现类型的其他注册时,才会添加该服务。

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

Transient将给定工厂实现的服务添加到实现给定协定的服务列表中。 仅当集合不包含同一服务和实现类型的其他注册时,才会添加该服务。

显式接口实现

名称 说明
IInfrastructure<IInternalServiceCollectionMap>.Instance

提供一个地图,该映射 IServiceCollection 允许 ServiceDescriptor 在每次完成此操作时对服务集合进行线性扫描即可有条件地添加或重新写入条目。

IInfrastructure<InternalServiceCollectionMap>.Instance

提供一个地图,该映射 IServiceCollection 允许 ServiceDescriptor 在每次完成此操作时对服务集合进行线性扫描即可有条件地添加或重新写入条目。

扩展方法

名称 说明
GetInfrastructure<T>(IInfrastructure<T>)

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

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

适用于