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>)

Регистрирует указанные события с помощью предоставленного действия. Например, используйте для optionsBuilder.LogTo(Console.WriteLine, new[] { CoreEventId.ContextInitialized }) регистрации ContextInitialized события в консоли.

LogTo(Action<String>, IEnumerable<String>, LogLevel, Nullable<DbContextLoggerOptions>)

Регистрирует все события в указанных категориях с помощью предоставленного действия. Например, используйте для optionsBuilder.LogTo(Console.WriteLine, new[] { DbLoggerCategory.Infrastructure.Name }) регистрации всех событий в DbLoggerCategory.Infrastructure категории.

LogTo(Action<String>, LogLevel, Nullable<DbContextLoggerOptions>)

Журналы с использованием предоставленного действия. Например, используйте optionsBuilder.LogTo(Console.WriteLine) для входа в консоль.

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.

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