EntityFrameworkServiceCollectionExtensions.AddDbContextPool Метод

Определение

Перегрузки

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

Регистрирует данную DbContext службу в качестве службы в пуле IServiceCollectionDbContext и включает для этой регистрации пулы DbContext.

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

Используйте этот метод при использовании внедрения зависимостей в приложении, например с ASP.NET Core. Для приложений, которые не используют внедрение зависимостей, рассмотрите возможность создания DbContext экземпляров непосредственно с его конструктором. Затем OnConfiguring(DbContextOptionsBuilder) метод можно переопределить для настройки строки подключения и других параметров.

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

Дополнительные сведения см. в статье об использовании DbContext с внедрением зависимостей и использованием пула DbContext .

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

Регистрирует данную DbContext службу в качестве службы в пуле IServiceCollectionDbContext и включает для этой регистрации пулы DbContext.

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

Используйте этот метод при использовании внедрения зависимостей в приложении, например с ASP.NET Core. Для приложений, которые не используют внедрение зависимостей, рассмотрите возможность создания DbContext экземпляров непосредственно с его конструктором. Затем OnConfiguring(DbContextOptionsBuilder) метод можно переопределить для настройки строки подключения и других параметров.

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

Дополнительные сведения см. в статье об использовании DbContext с внедрением зависимостей и использованием пула DbContext .

Эта перегрузка имеет значение optionsAction , предоставляющее приложение IServiceProvider. Это полезно, если вы хотите настроить Entity Framework Core для разрешения внутренних служб от основного поставщика службы приложений. По умолчанию рекомендуется использовать AddDbContextPool<TContext>(IServiceCollection, Action<DbContextOptionsBuilder>, Int32) , что позволяет Entity Framework создавать и поддерживать собственные IServiceProvider для внутренних служб Entity Framework.

AddDbContextPool<TContextService,TContextImplementation>(IServiceCollection, Action<DbContextOptionsBuilder>, Int32)

Регистрирует данную DbContext службу в качестве службы в пуле IServiceCollectionDbContext и включает для этой регистрации пулы DbContext.

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

Используйте этот метод при использовании внедрения зависимостей в приложении, например с ASP.NET Core. Для приложений, которые не используют внедрение зависимостей, рассмотрите возможность создания DbContext экземпляров непосредственно с его конструктором. Затем OnConfiguring(DbContextOptionsBuilder) метод можно переопределить для настройки строки подключения и других параметров.

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

Дополнительные сведения см. в статье об использовании DbContext с внедрением зависимостей и использованием пула DbContext .

AddDbContextPool<TContextService,TContextImplementation>(IServiceCollection, Action<IServiceProvider,DbContextOptionsBuilder>, Int32)

Регистрирует заданный DbContext параметр как службу в IServiceCollectionпуле DbContext для этой регистрации.

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

Используйте этот метод при использовании внедрения зависимостей в приложении, например с ASP.NET Core. Для приложений, которые не используют внедрение зависимостей, рассмотрите возможность создания DbContext экземпляров непосредственно с его конструктором. Затем OnConfiguring(DbContextOptionsBuilder) метод можно переопределить для настройки строки подключения и других параметров.

Entity Framework Core не поддерживает выполнение нескольких параллельных операций в одном экземпляре DbContext, включая параллельное выполнение асинхронных запросов и любое явное использование экземпляра из нескольких потоков одновременно. Поэтому всегда ожидайте асинхронных вызовов немедленно или используйте отдельные экземпляры DbContext для операций, которые выполняются параллельно. Дополнительные сведения см. в разделе "Избегание проблем с потоком DbContext ".

Дополнительные сведения см . в статье Об использовании DbContext с внедрением зависимостей и использованием пула DbContext .

Эта перегрузка имеет объект, предоставляющий optionsAction приложение IServiceProvider. Это полезно, если вы хотите настроить Entity Framework Core для разрешения внутренних служб из основного поставщика служб приложений. По умолчанию рекомендуется использовать AddDbContextPool<TContextService,TContextImplementation>(IServiceCollection, Action<DbContextOptionsBuilder>, Int32) , что позволяет Entity Framework создавать и поддерживать собственные IServiceProvider для внутренних служб Entity Framework.

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

Регистрирует заданный DbContext параметр как службу в IServiceCollectionпуле DbContext для этой регистрации.

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

Используйте этот метод при использовании внедрения зависимостей в приложении, например с ASP.NET Core. Для приложений, которые не используют внедрение зависимостей, рассмотрите возможность создания DbContext экземпляров непосредственно с его конструктором. Затем OnConfiguring(DbContextOptionsBuilder) метод можно переопределить для настройки строки подключения и других параметров.

Entity Framework Core не поддерживает выполнение нескольких параллельных операций в одном экземпляре DbContext, включая параллельное выполнение асинхронных запросов и любое явное использование экземпляра из нескольких потоков одновременно. Поэтому всегда ожидайте асинхронных вызовов немедленно или используйте отдельные экземпляры DbContext для операций, которые выполняются параллельно. Дополнительные сведения см. в разделе "Избегание проблем с потоком DbContext ".

Дополнительные сведения см . в статье Об использовании DbContext с внедрением зависимостей и использованием пула DbContext .

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

Параметры типа

TContext

Тип регистра контекста.

Параметры

serviceCollection
IServiceCollection

Коллекция IServiceCollection, в которую добавляются службы.

optionsAction
Action<DbContextOptionsBuilder>

Необходимое действие для настройки DbContextOptions контекста. При использовании пула контекстов конфигурация параметров должна выполняться внешне; OnConfiguring(DbContextOptionsBuilder) не вызывается.

poolSize
Int32

Задает максимальное количество экземпляров, сохраненных пулом. Значение по умолчанию — 1024.

Возвращаемое значение

IServiceCollection

Та же коллекция служб, чтобы можно было связать несколько вызовов.

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

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

Регистрирует заданный DbContext параметр как службу в IServiceCollectionпуле DbContext для этой регистрации.

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

Используйте этот метод при использовании внедрения зависимостей в приложении, например с ASP.NET Core. Для приложений, которые не используют внедрение зависимостей, рассмотрите возможность создания DbContext экземпляров непосредственно с его конструктором. Затем OnConfiguring(DbContextOptionsBuilder) метод можно переопределить для настройки строки подключения и других параметров.

Entity Framework Core не поддерживает выполнение нескольких параллельных операций в одном экземпляре DbContext, включая параллельное выполнение асинхронных запросов и любое явное использование экземпляра из нескольких потоков одновременно. Поэтому всегда ожидайте асинхронных вызовов немедленно или используйте отдельные экземпляры DbContext для операций, которые выполняются параллельно. Дополнительные сведения см. в разделе "Избегание проблем с потоком DbContext ".

Дополнительные сведения см . в статье Об использовании DbContext с внедрением зависимостей и использованием пула DbContext .

Эта перегрузка имеет объект, предоставляющий optionsAction приложение IServiceProvider. Это полезно, если вы хотите настроить Entity Framework Core для разрешения внутренних служб из основного поставщика служб приложений. По умолчанию рекомендуется использовать AddDbContextPool<TContext>(IServiceCollection, Action<DbContextOptionsBuilder>, Int32) , что позволяет Entity Framework создавать и поддерживать собственные IServiceProvider для внутренних служб Entity Framework.

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

Параметры типа

TContext

Тип регистра контекста.

Параметры

serviceCollection
IServiceCollection

Коллекция IServiceCollection, в которую добавляются службы.

optionsAction
Action<IServiceProvider,DbContextOptionsBuilder>

Необходимое действие для настройки DbContextOptions контекста. При использовании пула контекстов конфигурация параметров должна выполняться внешне; OnConfiguring(DbContextOptionsBuilder) не вызывается.

poolSize
Int32

Задает максимальное количество экземпляров, сохраненных пулом. Значение по умолчанию — 1024.

Возвращаемое значение

IServiceCollection

Та же коллекция служб, чтобы можно было связать несколько вызовов.

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

AddDbContextPool<TContextService,TContextImplementation>(IServiceCollection, Action<DbContextOptionsBuilder>, Int32)

Регистрирует заданный DbContext параметр как службу в IServiceCollectionпуле DbContext для этой регистрации.

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

Используйте этот метод при использовании внедрения зависимостей в приложении, например с ASP.NET Core. Для приложений, которые не используют внедрение зависимостей, рассмотрите возможность создания DbContext экземпляров непосредственно с его конструктором. Затем OnConfiguring(DbContextOptionsBuilder) метод можно переопределить для настройки строки подключения и других параметров.

Entity Framework Core не поддерживает выполнение нескольких параллельных операций в одном экземпляре DbContext, включая параллельное выполнение асинхронных запросов и любое явное использование экземпляра из нескольких потоков одновременно. Поэтому всегда ожидайте асинхронных вызовов немедленно или используйте отдельные экземпляры DbContext для операций, которые выполняются параллельно. Дополнительные сведения см. в разделе "Избегание проблем с потоком DbContext ".

Дополнительные сведения см . в статье Об использовании DbContext с внедрением зависимостей и использованием пула DbContext .

public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddDbContextPool<TContextService,TContextImplementation> (this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, Action<Microsoft.EntityFrameworkCore.DbContextOptionsBuilder> optionsAction, int poolSize = 128) where TContextService : class where TContextImplementation : Microsoft.EntityFrameworkCore.DbContext, TContextService;
public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddDbContextPool<TContextService,TContextImplementation> (this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, Action<Microsoft.EntityFrameworkCore.DbContextOptionsBuilder> optionsAction, int poolSize = 1024) where TContextService : class where TContextImplementation : Microsoft.EntityFrameworkCore.DbContext, TContextService;
static member AddDbContextPool : Microsoft.Extensions.DependencyInjection.IServiceCollection * Action<Microsoft.EntityFrameworkCore.DbContextOptionsBuilder> * int -> Microsoft.Extensions.DependencyInjection.IServiceCollection (requires 'ContextService : null and 'ContextImplementation :> Microsoft.EntityFrameworkCore.DbContext and 'ContextImplementation :> 'ContextService)
<Extension()>
Public Function AddDbContextPool(Of TContextService As Class, TContextImplementation As Class) (serviceCollection As IServiceCollection, optionsAction As Action(Of DbContextOptionsBuilder), Optional poolSize As Integer = 128) As IServiceCollection
<Extension()>
Public Function AddDbContextPool(Of TContextService As Class, TContextImplementation As Class) (serviceCollection As IServiceCollection, optionsAction As Action(Of DbContextOptionsBuilder), Optional poolSize As Integer = 1024) As IServiceCollection

Параметры типа

TContextService

Класс или интерфейс, который будет использоваться для разрешения контекста из контейнера.

TContextImplementation

Конкретный тип реализации для создания.

Параметры

serviceCollection
IServiceCollection

Коллекция IServiceCollection, в которую добавляются службы.

optionsAction
Action<DbContextOptionsBuilder>

Необходимое действие для настройки DbContextOptions контекста. При использовании пула контекстов конфигурация параметров должна выполняться внешне; OnConfiguring(DbContextOptionsBuilder) не вызывается.

poolSize
Int32

Задает максимальное количество экземпляров, сохраненных пулом. Значение по умолчанию — 1024.

Возвращаемое значение

IServiceCollection

Та же коллекция служб, чтобы можно было связать несколько вызовов.

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

AddDbContextPool<TContextService,TContextImplementation>(IServiceCollection, Action<IServiceProvider,DbContextOptionsBuilder>, Int32)

Регистрирует заданный DbContext параметр как службу в IServiceCollectionпуле DbContext для этой регистрации.

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

Используйте этот метод при использовании внедрения зависимостей в приложении, например с ASP.NET Core. Для приложений, которые не используют внедрение зависимостей, рассмотрите возможность создания DbContext экземпляров непосредственно с его конструктором. Затем OnConfiguring(DbContextOptionsBuilder) метод можно переопределить для настройки строки подключения и других параметров.

Entity Framework Core не поддерживает выполнение нескольких параллельных операций в одном экземпляре DbContext, включая параллельное выполнение асинхронных запросов и любое явное использование экземпляра из нескольких потоков одновременно. Поэтому всегда ожидайте асинхронных вызовов немедленно или используйте отдельные экземпляры DbContext для операций, которые выполняются параллельно. Дополнительные сведения см. в разделе "Избегание проблем с потоком DbContext ".

Дополнительные сведения см . в статье Об использовании DbContext с внедрением зависимостей и использованием пула DbContext .

Эта перегрузка имеет объект, предоставляющий optionsAction приложение IServiceProvider. Это полезно, если вы хотите настроить Entity Framework Core для разрешения внутренних служб от основного поставщика службы приложений. По умолчанию рекомендуется использовать AddDbContextPool<TContextService,TContextImplementation>(IServiceCollection, Action<DbContextOptionsBuilder>, Int32) , что позволяет Entity Framework создавать и поддерживать собственные IServiceProvider для внутренних служб Entity Framework.

public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddDbContextPool<TContextService,TContextImplementation> (this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, Action<IServiceProvider,Microsoft.EntityFrameworkCore.DbContextOptionsBuilder> optionsAction, int poolSize = 128) where TContextService : class where TContextImplementation : Microsoft.EntityFrameworkCore.DbContext, TContextService;
public static Microsoft.Extensions.DependencyInjection.IServiceCollection AddDbContextPool<TContextService,TContextImplementation> (this Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection, Action<IServiceProvider,Microsoft.EntityFrameworkCore.DbContextOptionsBuilder> optionsAction, int poolSize = 1024) where TContextService : class where TContextImplementation : Microsoft.EntityFrameworkCore.DbContext, TContextService;
static member AddDbContextPool : Microsoft.Extensions.DependencyInjection.IServiceCollection * Action<IServiceProvider, Microsoft.EntityFrameworkCore.DbContextOptionsBuilder> * int -> Microsoft.Extensions.DependencyInjection.IServiceCollection (requires 'ContextService : null and 'ContextImplementation :> Microsoft.EntityFrameworkCore.DbContext and 'ContextImplementation :> 'ContextService)
<Extension()>
Public Function AddDbContextPool(Of TContextService As Class, TContextImplementation As Class) (serviceCollection As IServiceCollection, optionsAction As Action(Of IServiceProvider, DbContextOptionsBuilder), Optional poolSize As Integer = 128) As IServiceCollection
<Extension()>
Public Function AddDbContextPool(Of TContextService As Class, TContextImplementation As Class) (serviceCollection As IServiceCollection, optionsAction As Action(Of IServiceProvider, DbContextOptionsBuilder), Optional poolSize As Integer = 1024) As IServiceCollection

Параметры типа

TContextService

Класс или интерфейс, которые будут использоваться для разрешения контекста из контейнера.

TContextImplementation

Конкретный тип реализации для создания.

Параметры

serviceCollection
IServiceCollection

Коллекция IServiceCollection, в которую добавляются службы.

optionsAction
Action<IServiceProvider,DbContextOptionsBuilder>

Необходимое действие для настройки DbContextOptions контекста. При использовании пула контекстов конфигурация параметров должна выполняться внешне; OnConfiguring(DbContextOptionsBuilder) не вызывается.

poolSize
Int32

Задает максимальное количество экземпляров, сохраненных пулом. Значение по умолчанию — 1024.

Возвращаемое значение

IServiceCollection

Та же коллекция служб, чтобы можно было связать несколько вызовов.

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