다음을 통해 공유


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
파생
구현

설명

공급자는 이 클래스의 instance 만들고, 메서드를 사용하여 서비스를 등록한 다음, 를 호출 TryAddCoreServices() 하여 나머지 Entity Framework 서비스를 채워야 합니다.

관계형 공급자는 대신 'EntityFrameworkRelationalServicesBuilder를 사용해야 합니다.

Entity Framework는 서비스가 적절한 scope 등록되도록 합니다. 경우에 따라 공급자가 다른 scope 사용하여 서비스를 등록할 수 있지만 모든 종속성이 새 scope 처리할 수 있고 이에 의존하는 서비스에 문제가 발생하지 않도록 주의해야 합니다.

자세한 내용 과 예제는 데이터베이스 공급자 및 확장 구현 을 참조하세요.

생성자

EntityFrameworkServicesBuilder(IServiceCollection)

데이터베이스 공급자가 공급자 서비스 등록을 위해 새 EntityFrameworkServicesBuilder 를 만드는 데 사용됩니다. 관계형 공급자는 'EntityFrameworkRelationalServicesBuilder'를 사용해야 합니다.

필드

CoreServices

이 API는 Entity Framework Core 인프라를 지원하며 공용 API와 동일한 호환성 표준이 적용되지 않는 내부 API입니다. 릴리스에서 예고 없이 변경되거나 제거될 수 있습니다. 코드에서 직접 사용해야 하며, 이렇게 하면 새 Entity Framework Core 릴리스로 업데이트할 때 애플리케이션 오류가 발생할 수 있다는 것을 알고 있어야 합니다.

속성

ServiceCollectionMap

기본 에 액세스합니다 ServiceCollectionMap.

메서드

GetServiceCharacteristics(Type)

ServiceCharacteristics 지정된 서비스 유형에 대한 를 가져옵니다.

TryAdd(Type, Object)

Entity Framework 서비스가 아직 등록되지 않은 경우에만 Entity Framework 서비스의 구현을 추가합니다. 이 메서드는 싱글톤 서비스에만 사용할 수 있습니다.

TryAdd(Type, Type)

Entity Framework 서비스가 아직 등록되지 않은 경우에만 Entity Framework 서비스의 구현을 추가합니다. 서비스의 scope Entity Framework에서 자동으로 정의됩니다.

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

아직 등록되지 않은 경우에만 Entity Framework 서비스에 대한 팩터리를 추가합니다. 서비스의 scope Entity Framework에서 자동으로 정의됩니다.

TryAdd<TService,TImplementation>()

Entity Framework 서비스가 아직 등록되지 않은 경우에만 Entity Framework 서비스의 구현을 추가합니다. 서비스의 scope Entity Framework에서 자동으로 정의됩니다.

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

아직 등록되지 않은 경우에만 Entity Framework 서비스에 대한 팩터리를 추가합니다. 서비스의 scope Entity Framework에서 자동으로 정의됩니다.

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

아직 등록되지 않은 경우에만 Entity Framework 서비스에 대한 팩터리를 추가합니다. 서비스의 scope Entity Framework에서 자동으로 정의됩니다.

TryAdd<TService>(TService)

Entity Framework 서비스가 아직 등록되지 않은 경우에만 Entity Framework 서비스의 구현을 추가합니다. 이 메서드는 싱글톤 서비스에만 사용할 수 있습니다.

TryAddCoreServices()

공급자가 아직 등록하지 않은 모든 서비스의 기본 구현을 등록합니다. 데이터베이스 공급자는 이 메서드를 서비스 등록의 마지막 단계, 즉 모든 공급자 서비스가 등록된 후 호출해야 합니다.

TryAddProviderSpecificServices(Action<ServiceCollectionMap>)

데이터베이스 공급자는 공급자별 서비스를 등록할 수 있도록 기본 ServiceCollectionMap 에 액세스하기 위해 이 메서드를 호출해야 합니다. Entity Framework 서비스의 구현은 이 메서드를 통하지 않고 에 EntityFrameworkServicesBuilder 직접 등록해야 합니다.

TryGetServiceCharacteristics(Type)

ServiceCharacteristics 지정된 서비스 유형에 대한 를 가져옵니다.

명시적 인터페이스 구현

IInfrastructure<IServiceCollection>.Instance

구성 중인 을 IServiceCollection 가져옵니다.

이 속성은 공용 API 화면에 직접 노출되지 않는 서비스를 사용해야 하는 확장 메서드에서 사용하기 위한 것입니다.

확장 메서드

GetInfrastructure<T>(IInfrastructure<T>)

을 사용하여 IInfrastructure<T>숨겨지는 속성의 값을 가져옵니다.

이 메서드는 일반적으로 데이터베이스 공급자(및 기타 확장)에서 사용됩니다. 일반적으로 애플리케이션 코드에는 사용되지 않습니다.

적용 대상