다음을 통해 공유


EntityFrameworkServiceCollectionExtensions.AddPooledDbContextFactory 메서드

정의

오버로드

AddPooledDbContextFactory<TContext>(IServiceCollection, Action<DbContextOptionsBuilder>, Int32)

에 을 IDbContextFactory<TContext>IServiceCollection 등록하여 다시 사용할 인스턴스가 풀된 지정된 DbContext 형식의 인스턴스를 만듭니다.

AddPooledDbContextFactory<TContext>(IServiceCollection, Action<IServiceProvider,DbContextOptionsBuilder>, Int32)

에 을 IDbContextFactory<TContext>IServiceCollection 등록하여 다시 사용할 인스턴스가 풀된 지정된 DbContext 형식의 인스턴스를 만듭니다.

AddPooledDbContextFactory<TContext>(IServiceCollection, Action<DbContextOptionsBuilder>, Int32)

Source:
EntityFrameworkServiceCollectionExtensions.cs
Source:
EntityFrameworkServiceCollectionExtensions.cs
Source:
EntityFrameworkServiceCollectionExtensions.cs
Source:
EntityFrameworkServiceCollectionExtensions.cs
Source:
EntityFrameworkServiceCollectionExtensions.cs

에 을 IDbContextFactory<TContext>IServiceCollection 등록하여 다시 사용할 인스턴스가 풀된 지정된 DbContext 형식의 인스턴스를 만듭니다.

public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddPooledDbContextFactory<TContext>(this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, Action<Microsoft.EntityFrameworkCore.DbContextOptionsBuilder> optionsAction, int poolSize = 128) where TContext : Microsoft.EntityFrameworkCore.DbContext;
public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddPooledDbContextFactory<TContext>(this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, Action<Microsoft.EntityFrameworkCore.DbContextOptionsBuilder> optionsAction, int poolSize = 1024) where TContext : Microsoft.EntityFrameworkCore.DbContext;
static member AddPooledDbContextFactory : Microsoft.Extensions.DependencyInjection.IServiceCollection * Action<Microsoft.EntityFrameworkCore.DbContextOptionsBuilder> * int -> Microsoft.Extensions.DependencyInjection.IServiceCollection (requires 'Context :> Microsoft.EntityFrameworkCore.DbContext)
<Extension()>
Public Function AddPooledDbContextFactory(Of TContext As DbContext) (serviceCollection As IServiceCollection, optionsAction As Action(Of DbContextOptionsBuilder), Optional poolSize As Integer = 128) As IServiceCollection
<Extension()>
Public Function AddPooledDbContextFactory(Of TContext As DbContext) (serviceCollection As IServiceCollection, optionsAction As Action(Of DbContextOptionsBuilder), Optional poolSize As Integer = 1024) As IServiceCollection

형식 매개 변수

TContext

팩터리에서 만들 의 DbContext 형식입니다.

매개 변수

serviceCollection
IServiceCollection

서비스를 추가할 IServiceCollection입니다.

optionsAction
Action<DbContextOptionsBuilder>

컨텍스트에 대해 를 DbContextOptions 구성하는 데 필요한 작업입니다. 컨텍스트 풀링을 사용하는 경우 옵션 구성을 외부에서 수행해야 합니다. OnConfiguring(DbContextOptionsBuilder) 가 호출되지 않습니다.

poolSize
Int32

풀에서 보존하는 최대 인스턴스 수를 설정합니다. 기본값은 1024입니다.

반환

여러 호출을 연결할 수 있도록 동일한 서비스 컬렉션입니다.

설명

컨텍스트 형식을 직접 등록하는 대신 팩터리를 등록하면 새 DbContext 인스턴스를 쉽게 만들 수 있습니다. Blazor 애플리케이션 및 종속성 주입 scope 컨텍스트 수명과 일치하지 않는 기타 상황에서는 팩터리를 등록하는 것이 좋습니다.

Blazor와 같이 애플리케이션에서 종속성 주입을 사용할 때 이 메서드를 사용합니다. 종속성 주입을 사용하지 않는 애플리케이션의 경우 생성자를 사용하여 직접 인스턴스를 만드는 DbContext 것이 좋습니다. 그런 다음 메서드를 재정의 OnConfiguring(DbContextOptionsBuilder) 하여 연결 문자열 및 기타 옵션을 구성할 수 있습니다.

Entity Framework Core는 동일한 DbContext 인스턴스에서 실행되는 여러 병렬 작업을 지원하지 않습니다. 여기에는 비동기 쿼리의 병렬 실행과 여러 스레드에서의 명시적 동시 사용이 모두 포함됩니다. 따라서 항상 즉시 비동기 호출을 기다리거나 병렬로 실행되는 작업에 별도의 DbContext 인스턴스를 사용합니다. 자세한 내용 및 예제 는 DbContext 스레딩 문제 방지 를 참조하세요.

자세한 내용과 예제는 종속성 주입과 함께 DbContext사용, DbContext 팩터리사용 및 DbContext 풀링 사용을 참조하세요.

적용 대상

AddPooledDbContextFactory<TContext>(IServiceCollection, Action<IServiceProvider,DbContextOptionsBuilder>, Int32)

Source:
EntityFrameworkServiceCollectionExtensions.cs
Source:
EntityFrameworkServiceCollectionExtensions.cs
Source:
EntityFrameworkServiceCollectionExtensions.cs
Source:
EntityFrameworkServiceCollectionExtensions.cs
Source:
EntityFrameworkServiceCollectionExtensions.cs

에 을 IDbContextFactory<TContext>IServiceCollection 등록하여 다시 사용할 인스턴스가 풀된 지정된 DbContext 형식의 인스턴스를 만듭니다.

public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddPooledDbContextFactory<TContext>(this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, Action<IServiceProvider,Microsoft.EntityFrameworkCore.DbContextOptionsBuilder> optionsAction, int poolSize = 128) where TContext : Microsoft.EntityFrameworkCore.DbContext;
public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddPooledDbContextFactory<TContext>(this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, Action<IServiceProvider,Microsoft.EntityFrameworkCore.DbContextOptionsBuilder> optionsAction, int poolSize = 1024) where TContext : Microsoft.EntityFrameworkCore.DbContext;
static member AddPooledDbContextFactory : Microsoft.Extensions.DependencyInjection.IServiceCollection * Action<IServiceProvider, Microsoft.EntityFrameworkCore.DbContextOptionsBuilder> * int -> Microsoft.Extensions.DependencyInjection.IServiceCollection (requires 'Context :> Microsoft.EntityFrameworkCore.DbContext)
<Extension()>
Public Function AddPooledDbContextFactory(Of TContext As DbContext) (serviceCollection As IServiceCollection, optionsAction As Action(Of IServiceProvider, DbContextOptionsBuilder), Optional poolSize As Integer = 128) As IServiceCollection
<Extension()>
Public Function AddPooledDbContextFactory(Of TContext As DbContext) (serviceCollection As IServiceCollection, optionsAction As Action(Of IServiceProvider, DbContextOptionsBuilder), Optional poolSize As Integer = 1024) As IServiceCollection

형식 매개 변수

TContext

팩터리에서 만들 의 DbContext 형식입니다.

매개 변수

serviceCollection
IServiceCollection

서비스를 추가할 IServiceCollection입니다.

optionsAction
Action<IServiceProvider,DbContextOptionsBuilder>

컨텍스트에 대해 를 DbContextOptions 구성하는 데 필요한 작업입니다. 컨텍스트 풀링을 사용하는 경우 옵션 구성을 외부에서 수행해야 합니다. OnConfiguring(DbContextOptionsBuilder) 가 호출되지 않습니다.

poolSize
Int32

풀에서 보존하는 최대 인스턴스 수를 설정합니다. 기본값은 1024입니다.

반환

여러 호출을 연결할 수 있도록 동일한 서비스 컬렉션입니다.

설명

컨텍스트 형식을 직접 등록하는 대신 팩터리를 등록하면 새 DbContext 인스턴스를 쉽게 만들 수 있습니다. Blazor 애플리케이션 및 종속성 주입 scope 컨텍스트 수명과 일치하지 않는 기타 상황에서는 팩터리를 등록하는 것이 좋습니다.

Blazor와 같이 애플리케이션에서 종속성 주입을 사용할 때 이 메서드를 사용합니다. 종속성 주입을 사용하지 않는 애플리케이션의 경우 생성자를 사용하여 직접 인스턴스를 만드는 DbContext 것이 좋습니다. 그런 다음 메서드를 재정의 OnConfiguring(DbContextOptionsBuilder) 하여 연결 문자열 및 기타 옵션을 구성할 수 있습니다.

Entity Framework Core는 동일한 DbContext 인스턴스에서 실행되는 여러 병렬 작업을 지원하지 않습니다. 여기에는 비동기 쿼리의 병렬 실행과 여러 스레드에서의 명시적 동시 사용이 모두 포함됩니다. 따라서 항상 즉시 비동기 호출을 기다리거나 병렬로 실행되는 작업에 별도의 DbContext 인스턴스를 사용합니다. 자세한 내용 및 예제 는 DbContext 스레딩 문제 방지 를 참조하세요.

자세한 내용과 예제는 종속성 주입과 함께 DbContext사용, DbContext 팩터리사용 및 DbContext 풀링 사용을 참조하세요.

적용 대상