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 .
Эта перегрузка имеет значение |
| 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 .
Эта перегрузка имеет объект, предоставляющий |
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.
Возвращаемое значение
Та же коллекция служб, чтобы можно было связать несколько вызовов.
Применяется к
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.
Возвращаемое значение
Та же коллекция служб, чтобы можно было связать несколько вызовов.
Применяется к
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.
Возвращаемое значение
Та же коллекция служб, чтобы можно было связать несколько вызовов.
Применяется к
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.
Возвращаемое значение
Та же коллекция служб, чтобы можно было связать несколько вызовов.
Применяется к
Обратная связь
Отправить и просмотреть отзыв по