ServiceCollectionMap 类

定义

在 上 IServiceCollection 提供一个映射,允许 ServiceDescriptor 按条件添加或重新写入条目,而无需在每次执行此操作时对服务集合进行线性扫描。

public class ServiceCollectionMap : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Internal.InternalServiceCollectionMap>
public class ServiceCollectionMap : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Infrastructure.IInternalServiceCollectionMap>
type ServiceCollectionMap = class
    interface IInfrastructure<InternalServiceCollectionMap>
type ServiceCollectionMap = class
    interface IInfrastructure<IInternalServiceCollectionMap>
Public Class ServiceCollectionMap
Implements IInfrastructure(Of InternalServiceCollectionMap)
Public Class ServiceCollectionMap
Implements IInfrastructure(Of IInternalServiceCollectionMap)
继承
ServiceCollectionMap
实现
IInfrastructure<Microsoft.EntityFrameworkCore.Internal.InternalServiceCollectionMap> IInfrastructure<IInternalServiceCollectionMap>

注解

请注意,在由映射管理集合时,不应在没有其他方式的情况下修改集合。 使用映射完成修改后,可以正常方式使用集合。

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

构造函数

ServiceCollectionMap(IServiceCollection)

创建一个新的 ServiceCollectionMap 以在给定 IServiceCollection的 上操作。

属性

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>隐藏的属性中获取值。

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

适用于