DbContextOptionsBuilder Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Provides a simple API surface for configuring DbContextOptions. Databases (and other extensions) typically define extension methods on this object that allow you to configure the database connection (and other options) to be used for a context.
public class DbContextOptionsBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IDbContextOptionsBuilderInfrastructure
type DbContextOptionsBuilder = class
interface IDbContextOptionsBuilderInfrastructure
Public Class DbContextOptionsBuilder
Implements IDbContextOptionsBuilderInfrastructure
- Inheritance
-
DbContextOptionsBuilder
- Derived
- Implements
Remarks
You can use DbContextOptionsBuilder to configure a context by overriding OnConfiguring(DbContextOptionsBuilder) or creating a DbContextOptions externally and passing it to the context constructor.
See Using DbContextOptions for more information and examples.
Constructors
DbContextOptionsBuilder() |
Initializes a new instance of the DbContextOptionsBuilder class with no options set. |
DbContextOptionsBuilder(DbContextOptions) |
Initializes a new instance of the DbContextOptionsBuilder class to further configure a given DbContextOptions. |
Properties
IsConfigured |
Gets a value indicating whether any options have been configured. |
Options |
Gets the options being configured. |
Methods
AddInterceptors(IEnumerable<IInterceptor>) |
Adds IInterceptor instances to those registered on the context. |
AddInterceptors(IInterceptor[]) |
Adds IInterceptor instances to those registered on the context. |
ConfigureLoggingCacheTime(TimeSpan) |
Configures how long EF Core will cache logging configuration in certain high-performance paths. This makes EF Core skip potentially costly logging checks, but means that runtime logging changes (e.g. registering a new DiagnosticListener may not be taken into account right away). |
ConfigureWarnings(Action<WarningsConfigurationBuilder>) |
Configures the runtime behavior of warnings generated by Entity Framework. You can set a default behavior and behaviors for each warning type. |
ConfigureWarnings(Action<WarningsConfigurationBuilder>) |
Configures the runtime behavior of warnings generated by Entity Framework. You can set a default behavior and behaviors for each warning type. |
EnableDetailedErrors(Boolean) |
Enables detailed errors when handling of data value exceptions that occur during processing of store query results. Such errors most often occur due to misconfiguration of entity properties. E.g. If a property is configured to be of type 'int', but the underlying data in the store is actually of type 'string', then an exception will be generated at runtime during processing of the data value. When this option is enabled and a data error is encountered, the generated exception will include details of the specific entity property that generated the error. |
EnableSensitiveDataLogging() |
Enables application data to be included in exception messages, logging, etc. This can include the values assigned to properties of your entity instances, parameter values for commands being sent to the database, and other such data. You should only enable this flag if you have the appropriate security measures in place based on the sensitivity of this data. |
EnableSensitiveDataLogging(Boolean) |
Enables application data to be included in exception messages, logging, etc. This can include the values assigned to properties of your entity instances, parameter values for commands being sent to the database, and other such data. You should only enable this flag if you have the appropriate security measures in place based on the sensitivity of this data. |
EnableServiceProviderCaching(Boolean) |
Enables or disables caching of internal service providers. Disabling caching can massively impact performance and should only be used in testing scenarios that build many service providers for test isolation. |
EnableThreadSafetyChecks(Boolean) |
Disables concurrency detection, which detects many cases of erroneous concurrent usage of a DbContext instance and causes an informative exception to be thrown. This provides a minor performance improvement, but if a DbContext instance is used concurrently, the behavior will be undefined and the program may fail in unpredictable ways. |
LogTo(Action<String>, Func<EventId,LogLevel,Boolean>, Nullable<DbContextLoggerOptions>) |
Logs events filtered by a supplied custom filter delegate. The filter should return true to log a message, or false to filter it out of the log. |
LogTo(Action<String>, IEnumerable<EventId>, LogLevel, Nullable<DbContextLoggerOptions>) |
Logs the specified events using the supplied action. For example, use
|
LogTo(Action<String>, IEnumerable<String>, LogLevel, Nullable<DbContextLoggerOptions>) |
Logs all events in the specified categories using the supplied action. For example, use
|
LogTo(Action<String>, LogLevel, Nullable<DbContextLoggerOptions>) |
Logs using the supplied action. For example, use |
LogTo(Func<EventId,LogLevel,Boolean>, Action<EventData>) |
Logs events to a custom logger delegate filtered by a custom filter delegate. The filter should return true to log a message, or false to filter it out of the log. |
ReplaceService<TService,TCurrentImplementation,TNewImplementation>() |
Replaces the internal Entity Framework implementation of a specific implementation of a service contract with a different implementation. |
ReplaceService<TService,TImplementation>() |
Replaces all internal Entity Framework implementations of a service contract with a different implementation. |
UseApplicationServiceProvider(IServiceProvider) |
Sets the IServiceProvider from which application services will be obtained. This is done automatically when using 'AddDbContext' or 'AddDbContextPool', so it is rare that this method needs to be called. |
UseInternalServiceProvider(IServiceProvider) |
Sets the IServiceProvider that the context should resolve all of its services from. EF will create and manage a service provider if none is specified. |
UseLoggerFactory(ILoggerFactory) |
Sets the ILoggerFactory that will be used to create ILogger instances for logging done by this context. |
UseMemoryCache(IMemoryCache) |
Sets the IMemoryCache to be used for query caching by this context. |
UseModel(IModel) |
Sets the model to be used for the context. If the model is set, then OnModelCreating(ModelBuilder) will not be run. |
UseQueryTrackingBehavior(QueryTrackingBehavior) |
Sets the tracking behavior for LINQ queries run against the context. Disabling change tracking is useful for read-only scenarios because it avoids the overhead of setting up change tracking for each entity instance. You should not disable change tracking if you want to manipulate entity instances and persist those changes to the database using SaveChanges(). |
UseRootApplicationServiceProvider() |
Resolves the root IServiceProvider from from the scoped application service provider. The root provider can be used to obtain singleton application services from singleton internal services. |
UseRootApplicationServiceProvider(IServiceProvider) |
Sets the root IServiceProvider from which singleton application services can be obtained from singleton internal services. |
Explicit Interface Implementations
IDbContextOptionsBuilderInfrastructure.AddOrUpdateExtension<TExtension>(TExtension) |
Adds the given extension to the options. If an existing extension of the same type already exists, it will be replaced. |
Extension Methods
Applies to
Entity Framework