Поделиться через


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.

Entity Framework гарантирует, что службы будут зарегистрированы в соответствующем область. В некоторых случаях поставщик может зарегистрировать службу с другой область, но необходимо тщательно следить за тем, чтобы все его зависимости могли обрабатывать новые область и что это не вызывает проблем для служб, которые от него зависят.

Дополнительные сведения и примеры см. в разделе Реализация поставщиков и расширений баз данных .

Конструкторы

EntityFrameworkServicesBuilder(IServiceCollection)

Используется поставщиками баз данных для создания нового EntityFrameworkServicesBuilder объекта для регистрации служб поставщика. Реляционные поставщики должны использовать EntityFrameworkRelationalServicesBuilder.

Поля

CoreServices

Это внутренний API, который поддерживает инфраструктуру Entity Framework Core и не подчиняется тем же стандартам совместимости, что и общедоступные API. Он может быть изменен или удален без уведомления в любом выпуске. Его следует использовать только непосредственно в коде с особой осторожностью, зная, что это может привести к сбоям приложений при обновлении до нового выпуска Entity Framework Core.

Свойства

ServiceCollectionMap

Доступ к базовому ServiceCollectionMapобъекту .

Методы

GetServiceCharacteristics(Type)

Возвращает для ServiceCharacteristics заданного типа службы.

TryAdd(Type, Object)

Добавляет реализацию службы Entity Framework, только если она еще не зарегистрирована. Этот метод можно использовать только для одноэлементных служб.

TryAdd(Type, Type)

Добавляет реализацию службы Entity Framework, только если она еще не зарегистрирована. Область службы автоматически определяется Entity Framework.

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

Добавляет фабрику для службы Entity Framework, только если она еще не зарегистрирована. Область службы автоматически определяется Entity Framework.

TryAdd<TService,TImplementation>()

Добавляет реализацию службы Entity Framework, только если она еще не зарегистрирована. Область службы автоматически определяется Entity Framework.

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

Добавляет фабрику для службы Entity Framework, только если она еще не зарегистрирована. Область службы автоматически определяется Entity Framework.

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

Добавляет фабрику для службы Entity Framework, только если она еще не зарегистрирована. Область службы автоматически определяется Entity Framework.

TryAdd<TService>(TService)

Добавляет реализацию службы Entity Framework, только если она еще не зарегистрирована. Этот метод можно использовать только для одноэлементных служб.

TryAddCoreServices()

Регистрирует реализации по умолчанию для всех служб, еще не зарегистрированных поставщиком. Поставщики баз данных должны вызывать этот метод в качестве последнего шага регистрации службы, т. е. после регистрации всех служб поставщика.

TryAddProviderSpecificServices(Action<ServiceCollectionMap>)

Поставщики баз данных должны вызывать этот метод для доступа к базовому ServiceCollectionMap объекту , чтобы можно было зарегистрировать службы конкретного поставщика. Обратите внимание, что реализации служб Entity Framework должны регистрироваться непосредственно в EntityFrameworkServicesBuilder , а не с помощью этого метода.

TryGetServiceCharacteristics(Type)

Возвращает для ServiceCharacteristics заданного типа службы.

Явные реализации интерфейса

IInfrastructure<IServiceCollection>.Instance

Возвращает объект , который IServiceCollection настраивается.

Это свойство предназначено для использования методами расширения, которым необходимо использовать службы, не предоставляемые напрямую в общедоступной области API.

Методы расширения

GetInfrastructure<T>(IInfrastructure<T>)

Получает значение из свойства, скрытого с помощью IInfrastructure<T>.

Этот метод обычно используется поставщиками баз данных (и другими расширениями). Обычно он не используется в коде приложения.

Применяется к