DbContextOptionsBuilder Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет простую поверхность API для настройки DbContextOptions. Базы данных (и другие расширения) обычно определяют методы расширения для этого объекта, которые позволяют настроить подключение к базе данных (и другие параметры) для использования в контексте.
public class DbContextOptionsBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IDbContextOptionsBuilderInfrastructure
type DbContextOptionsBuilder = class
interface IDbContextOptionsBuilderInfrastructure
Public Class DbContextOptionsBuilder
Implements IDbContextOptionsBuilderInfrastructure
- Наследование
-
DbContextOptionsBuilder
- Производный
- Реализации
Комментарии
Вы можете использовать для DbContextOptionsBuilder настройки контекста, переопределив или создав OnConfiguring(DbContextOptionsBuilder) внешний DbContextOptions объект и передав его конструктору контекста.
Дополнительные сведения и примеры см. в статье Использование DbContextOptions .
Конструкторы
DbContextOptionsBuilder() |
Инициализирует новый экземпляр DbContextOptionsBuilder класса без заданных параметров. |
DbContextOptionsBuilder(DbContextOptions) |
Инициализирует новый экземпляр класса для DbContextOptionsBuilder дальнейшей настройки заданного DbContextOptionsобъекта . |
Свойства
IsConfigured |
Возвращает значение, указывающее, настроены ли какие-либо параметры. |
Options |
Возвращает параметры, которые настраиваются. |
Методы
AddInterceptors(IEnumerable<IInterceptor>) |
Добавляет IInterceptor экземпляры в экземпляры, зарегистрированные в контексте. |
AddInterceptors(IInterceptor[]) |
Добавляет IInterceptor экземпляры в экземпляры, зарегистрированные в контексте. |
ConfigureLoggingCacheTime(TimeSpan) |
Указывает, как долго EF Core будет кэшировать конфигурацию ведения журнала в определенных высокопроизводительных путях. Это позволяет EF Core пропускать потенциально дорогостоящие проверки ведения журнала, но означает, что изменения в журнале среды выполнения (например, регистрация нового DiagnosticListener может быть не учтена сразу). |
ConfigureWarnings(Action<WarningsConfigurationBuilder>) |
Настраивает поведение среды выполнения предупреждений, созданных Entity Framework. Вы можете задать поведение по умолчанию и поведение для каждого типа предупреждений. |
ConfigureWarnings(Action<WarningsConfigurationBuilder>) |
Настраивает поведение среды выполнения предупреждений, созданных Entity Framework. Вы можете задать поведение по умолчанию и поведение для каждого типа предупреждений. |
EnableDetailedErrors(Boolean) |
Включает подробные ошибки при обработке исключений значений данных, возникающих во время обработки результатов запроса хранилища. Такие ошибки чаще всего возникают из-за неправильной настройки свойств сущности. Например, если свойство имеет тип int, но базовые данные в хранилище фактически имеют тип string, то во время обработки значения данных во время выполнения будет создано исключение. Если этот параметр включен и возникнет ошибка данных, созданное исключение будет включать сведения о свойстве сущности, создав ей ошибку. |
EnableSensitiveDataLogging() |
Позволяет включать данные приложения в сообщения об исключениях, ведение журнала и т. д. Сюда могут входить значения, назначенные свойствам экземпляров сущностей, значения параметров для команд, отправляемых в базу данных, и другие подобные данные. Этот флаг следует включать только в том случае, если у вас есть соответствующие меры безопасности на основе конфиденциальности этих данных. |
EnableSensitiveDataLogging(Boolean) |
Позволяет включать данные приложения в сообщения об исключениях, ведение журнала и т. д. Сюда могут входить значения, назначенные свойствам экземпляров сущностей, значения параметров для команд, отправляемых в базу данных, и другие подобные данные. Этот флаг следует включать только в том случае, если у вас есть соответствующие меры безопасности на основе конфиденциальности этих данных. |
EnableServiceProviderCaching(Boolean) |
Включает или отключает кэширование внутренних поставщиков служб. Отключение кэширования может существенно повлиять на производительность и должно использоваться только в сценариях тестирования, которые создают множество поставщиков служб для изоляции тестов. |
EnableThreadSafetyChecks(Boolean) |
Отключает обнаружение параллелизма, которое обнаруживает множество случаев ошибочного параллельного использования экземпляра DbContext и вызывает информативное исключение. Это обеспечивает незначительное повышение производительности, но если DbContext экземпляр используется одновременно, поведение будет неопределенным и программа может завершиться непредсказуемым сбоем. |
LogTo(Action<String>, Func<EventId,LogLevel,Boolean>, Nullable<DbContextLoggerOptions>) |
Регистрирует события, отфильтрованные предоставленным делегатом пользовательского фильтра. Фильтр должен возвращать значение true, чтобы записать сообщение в журнал, или false, чтобы отфильтровать его из журнала. |
LogTo(Action<String>, IEnumerable<EventId>, LogLevel, Nullable<DbContextLoggerOptions>) |
Регистрирует указанные события с помощью предоставленного действия. Например, используйте для |
LogTo(Action<String>, IEnumerable<String>, LogLevel, Nullable<DbContextLoggerOptions>) |
Регистрирует все события в указанных категориях с помощью предоставленного действия. Например, используйте для |
LogTo(Action<String>, LogLevel, Nullable<DbContextLoggerOptions>) |
Журналы с использованием предоставленного действия. Например, используйте |
LogTo(Func<EventId,LogLevel,Boolean>, Action<EventData>) |
Записывает события в настраиваемый делегат средства ведения журнала, отфильтрованный делегатом пользовательского фильтра. Фильтр должен возвращать значение true, чтобы записать сообщение в журнал, или false, чтобы отфильтровать его из журнала. |
ReplaceService<TService,TCurrentImplementation,TNewImplementation>() |
Заменяет внутреннюю реализацию Entity Framework конкретной реализации контракта службы другой реализацией. |
ReplaceService<TService,TImplementation>() |
Заменяет все внутренние реализации Entity Framework контракта службы другой реализацией. |
UseApplicationServiceProvider(IServiceProvider) |
Задает , IServiceProvider из которого будут получены службы приложений. Это выполняется автоматически при использовании AddDbContext или AddDbContextPool, поэтому вызывается редко. |
UseInternalServiceProvider(IServiceProvider) |
Задает объект IServiceProvider , из который контекст должен разрешать все свои службы. EF создаст поставщик услуг и будет управлять им, если он не указан. |
UseLoggerFactory(ILoggerFactory) |
Задает объект , ILoggerFactory который будет использоваться для создания ILogger экземпляров для ведения журнала в этом контексте. |
UseMemoryCache(IMemoryCache) |
Задает объект , используемый IMemoryCache для кэширования запросов в этом контексте. |
UseModel(IModel) |
Задает модель, используемую для контекста. Если модель задана, то OnModelCreating(ModelBuilder) не будет выполняться. |
UseQueryTrackingBehavior(QueryTrackingBehavior) |
Задает поведение отслеживания для запросов LINQ, выполняемых в контексте. Отключение отслеживания изменений полезно в сценариях только для чтения, так как позволяет избежать дополнительных затрат на настройку отслеживания изменений для каждого экземпляра сущности. Не следует отключать отслеживание изменений, если вы хотите управлять экземплярами сущностей и сохранять эти изменения в базе данных с помощью SaveChanges(). |
UseRootApplicationServiceProvider() |
Разрешает корневой каталог IServiceProvider из поставщика службы приложений с заданной областью. Корневой поставщик можно использовать для получения служб одноэлементных приложений из отдельных внутренних служб. |
UseRootApplicationServiceProvider(IServiceProvider) |
Задает корень IServiceProvider , из которого можно получить одноэлементные службы приложений из одноэлементных внутренних служб. |
Явные реализации интерфейса
IDbContextOptionsBuilderInfrastructure.AddOrUpdateExtension<TExtension>(TExtension) |
Добавляет заданное расширение в параметры. Если существующее расширение того же типа уже существует, оно будет заменено. |
Методы расширения
UseCosmos(DbContextOptionsBuilder, String, TokenCredential, String, Action<CosmosDbContextOptionsBuilder>) |
Настраивает контекст для подключения к базе данных Azure Cosmos. |
UseCosmos(DbContextOptionsBuilder, String, String, Action<CosmosDbContextOptionsBuilder>) |
Настраивает контекст для подключения к базе данных Azure Cosmos. |
UseCosmos(DbContextOptionsBuilder, String, String, String, Action<CosmosDbContextOptionsBuilder>) |
Настраивает контекст для подключения к базе данных Azure Cosmos. |
UseInMemoryDatabase(DbContextOptionsBuilder, Action<InMemoryDbContextOptionsBuilder>) |
Устаревшие..
Устаревшие..
Настраивает контекст для подключения к устаревшей общей базе данных в памяти. Этот метод устарел. Взамен рекомендуется использовать UseInMemoryDatabase(DbContextOptionsBuilder, String, Action<InMemoryDbContextOptionsBuilder>). |
UseInMemoryDatabase(DbContextOptionsBuilder, String, InMemoryDatabaseRoot, Action<InMemoryDbContextOptionsBuilder>) |
Настраивает контекст для подключения к именованной базе данных в памяти. База данных в памяти используется в любом месте, где используется одно и то же имя, но только для заданного поставщика услуг. |
UseInMemoryDatabase(DbContextOptionsBuilder, String, Action<InMemoryDbContextOptionsBuilder>) |
Настраивает контекст для подключения к именованной базе данных в памяти. База данных в памяти используется в любом месте, где используется одно и то же имя, но только для заданного поставщика услуг. Чтобы использовать одну и ту же базу данных в памяти для разных поставщиков служб, вызовите UseInMemoryDatabase(DbContextOptionsBuilder, String, InMemoryDatabaseRoot, Action<InMemoryDbContextOptionsBuilder>) общий InMemoryDatabaseRoot доступ, для которого будет использоваться база данных. |
UseChangeTrackingProxies(DbContextOptionsBuilder, Boolean, Boolean) |
Включает создание прокси-серверов отслеживания изменений. |
UseLazyLoadingProxies(DbContextOptionsBuilder, Action<LazyLoadingProxiesOptionsBuilder>) |
Включает создание отложенных прокси-серверов загрузки. |
UseLazyLoadingProxies(DbContextOptionsBuilder, Boolean) |
Включает создание отложенных прокси-серверов загрузки. |
UseSqlite(DbContextOptionsBuilder, Action<SqliteDbContextOptionsBuilder>) |
Настраивает контекст для подключения к базе данных SQLite, но без первоначального задания каких-либо DbConnection строка подключения. |
UseSqlite(DbContextOptionsBuilder, DbConnection, Action<SqliteDbContextOptionsBuilder>) |
Настраивает контекст для подключения к базе данных SQLite. |
UseSqlite(DbContextOptionsBuilder, DbConnection, Boolean, Action<SqliteDbContextOptionsBuilder>) |
Настраивает контекст для подключения к базе данных SQLite. |
UseSqlite(DbContextOptionsBuilder, String, Action<SqliteDbContextOptionsBuilder>) |
Настраивает контекст для подключения к базе данных SQLite. |
UseSqlServer(DbContextOptionsBuilder, Action<SqlServerDbContextOptionsBuilder>) |
Настраивает контекст для подключения к базе данных Microsoft SQL Server, но без первоначального задания каких-либо DbConnection строка подключения. |
UseSqlServer(DbContextOptionsBuilder, DbConnection, Action<SqlServerDbContextOptionsBuilder>) |
Настраивает контекст для подключения к базе данных Microsoft SQL Server. |
UseSqlServer(DbContextOptionsBuilder, DbConnection, Boolean, Action<SqlServerDbContextOptionsBuilder>) |
Настраивает контекст для подключения к базе данных Microsoft SQL Server. |
UseSqlServer(DbContextOptionsBuilder, String, Action<SqlServerDbContextOptionsBuilder>) |
Настраивает контекст для подключения к базе данных Microsoft SQL Server. |
Применяется к
Entity Framework