DbContextOptionsBuilder<TContext> 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供簡單的 API 介面來設定 DbContextOptions<TContext> 。 資料庫 (和其他延伸模組) 通常定義這個物件的擴充方法,可讓您設定資料庫連接 (和其他選項,) 用於內容。
public class DbContextOptionsBuilder<TContext> : Microsoft.EntityFrameworkCore.DbContextOptionsBuilder where TContext : DbContext
type DbContextOptionsBuilder<'Context (requires 'Context :> DbContext)> = class
inherit DbContextOptionsBuilder
Public Class DbContextOptionsBuilder(Of TContext)
Inherits DbContextOptionsBuilder
類型參數
- TContext
要設定的內容類型。
- 繼承
備註
您可以使用 DbContextOptionsBuilder 來設定內容,方法是覆寫 OnConfiguring(DbContextOptionsBuilder) 或建立 DbContextOptions 外部,並將它傳遞至內容建構函式。
如需詳細資訊和範例 ,請參閱使用 DbCoNtextOptions 。
建構函式
DbContextOptionsBuilder<TContext>() |
初始化 類別的新實例, DbContextOptionsBuilder<TContext> 但未設定任何選項。 |
DbContextOptionsBuilder<TContext>(DbContextOptions<TContext>) |
初始化 類別的新實例, DbContextOptionsBuilder<TContext> 以進一步設定指定的 DbContextOptions 。 |
屬性
IsConfigured |
取得值,指出是否已設定任何選項。 (繼承來源 DbContextOptionsBuilder) |
Options |
取得正在設定的選項。 |
方法
AddInterceptors(IEnumerable<IInterceptor>) |
將 IInterceptor 實例新增至在內容上註冊的實例。 |
AddInterceptors(IEnumerable<IInterceptor>) |
將 IInterceptor 實例新增至在內容上註冊的實例。 (繼承來源 DbContextOptionsBuilder) |
AddInterceptors(IInterceptor[]) |
將 IInterceptor 實例新增至在內容上註冊的實例。 |
AddInterceptors(IInterceptor[]) |
將 IInterceptor 實例新增至在內容上註冊的實例。 (繼承來源 DbContextOptionsBuilder) |
ConfigureLoggingCacheTime(TimeSpan) |
設定 EF Core 在特定高效能路徑中快取記錄設定的時間長度。 這可讓 EF Core 略過可能耗費成本的記錄檢查,但表示執行時間記錄變更 (例如,註冊新的 DiagnosticListener 可能不會立即納入考慮) 。 |
ConfigureLoggingCacheTime(TimeSpan) |
設定 EF Core 在特定高效能路徑中快取記錄設定的時間長度。 這可讓 EF Core 略過可能耗費成本的記錄檢查,但表示執行時間記錄變更 (例如,註冊新的 DiagnosticListener 可能不會立即納入考慮) 。 (繼承來源 DbContextOptionsBuilder) |
ConfigureWarnings(Action<WarningsConfigurationBuilder>) |
設定 Entity Framework 所產生的警告執行時間行為。 您可以為每個警告類型設定預設行為和行為。 |
ConfigureWarnings(Action<WarningsConfigurationBuilder>) |
設定 Entity Framework 所產生的警告執行時間行為。 您可以為每個警告類型設定預設行為和行為。 |
ConfigureWarnings(Action<WarningsConfigurationBuilder>) |
設定 Entity Framework 所產生的警告執行時間行為。 您可以為每個警告類型設定預設行為和行為。 (繼承來源 DbContextOptionsBuilder) |
ConfigureWarnings(Action<WarningsConfigurationBuilder>) |
設定 Entity Framework 所產生的警告執行時間行為。 您可以為每個警告類型設定預設行為和行為。 (繼承來源 DbContextOptionsBuilder) |
EnableDetailedErrors(Boolean) |
在處理存放區查詢結果期間發生的資料值例外狀況時,啟用詳細錯誤。 這類錯誤最常因為實體屬性的設定錯誤而發生。 例如,如果屬性設定為類型為 'int',但存放區中的基礎資料實際上是類型 'string',則在處理資料值期間,會在執行時間產生例外狀況。 啟用此選項並遇到資料錯誤時,產生的例外狀況將會包含產生錯誤的特定實體屬性詳細資料。 |
EnableDetailedErrors(Boolean) |
在處理存放區查詢結果期間發生的資料值例外狀況時,啟用詳細錯誤。 這類錯誤最常因為實體屬性的設定錯誤而發生。 例如,如果屬性設定為類型為 'int',但存放區中的基礎資料實際上是類型 'string',則在處理資料值期間,會在執行時間產生例外狀況。 啟用此選項並遇到資料錯誤時,產生的例外狀況將會包含產生錯誤的特定實體屬性詳細資料。 (繼承來源 DbContextOptionsBuilder) |
EnableSensitiveDataLogging() |
可讓應用程式資料包含在例外狀況訊息、記錄等中。這可以包含指派給實體實例屬性的值、傳送至資料庫之命令的參數值,以及其他這類資料。 只有根據此資料的敏感度,才應該啟用此旗標。 |
EnableSensitiveDataLogging() |
可讓應用程式資料包含在例外狀況訊息、記錄等中。這可以包含指派給實體實例屬性的值、傳送至資料庫之命令的參數值,以及其他這類資料。 只有根據此資料的敏感度,才應該啟用此旗標。 (繼承來源 DbContextOptionsBuilder) |
EnableSensitiveDataLogging(Boolean) |
可讓應用程式資料包含在例外狀況訊息、記錄等中。這可以包含指派給實體實例屬性的值、傳送至資料庫之命令的參數值,以及其他這類資料。 只有根據此資料的敏感度,才應該啟用此旗標。 |
EnableSensitiveDataLogging(Boolean) |
可讓應用程式資料包含在例外狀況訊息、記錄等中。這可以包含指派給實體實例屬性的值、傳送至資料庫之命令的參數值,以及其他這類資料。 只有根據此資料的敏感度,才應該啟用此旗標。 (繼承來源 DbContextOptionsBuilder) |
EnableServiceProviderCaching(Boolean) |
啟用或停用內部服務提供者的快取。 停用快取可能會大幅影響效能,而且只應用於建置許多服務提供者以進行測試隔離的測試案例。 |
EnableServiceProviderCaching(Boolean) |
啟用或停用內部服務提供者的快取。 停用快取可能會大幅影響效能,而且只應用於建置許多服務提供者以進行測試隔離的測試案例。 (繼承來源 DbContextOptionsBuilder) |
EnableThreadSafetyChecks(Boolean) |
停用並行偵測,它會偵測實例的多個錯誤並行使用 DbContext 案例,並導致擲回具資訊性的例外狀況。 這可提供次要的效能改善,但如果 DbContext 同時使用 實例,則行為將會未定義,而且程式可能會以無法預期的方式失敗。 |
EnableThreadSafetyChecks(Boolean) |
停用並行偵測,它會偵測實例的多個錯誤並行使用 DbContext 案例,並導致擲回具資訊性的例外狀況。 這可提供次要的效能改善,但如果 DbContext 同時使用 實例,則行為將會未定義,而且程式可能會以無法預期的方式失敗。 (繼承來源 DbContextOptionsBuilder) |
LogTo(Action<String>, Func<EventId,LogLevel,Boolean>, Nullable<DbContextLoggerOptions>) |
記錄由提供的自訂篩選委派篩選的事件。 篩選準則應該會傳回 true 來記錄訊息,或傳回 false,以將它篩選掉記錄檔。 |
LogTo(Action<String>, Func<EventId,LogLevel,Boolean>, Nullable<DbContextLoggerOptions>) |
記錄由提供的自訂篩選委派篩選的事件。 篩選準則應該會傳回 true 來記錄訊息,或傳回 false,以將它篩選掉記錄檔。 (繼承來源 DbContextOptionsBuilder) |
LogTo(Action<String>, IEnumerable<EventId>, LogLevel, Nullable<DbContextLoggerOptions>) |
使用提供的動作記錄指定的事件。 例如,使用 |
LogTo(Action<String>, IEnumerable<EventId>, LogLevel, Nullable<DbContextLoggerOptions>) |
使用提供的動作記錄指定的事件。 例如,使用 |
LogTo(Action<String>, IEnumerable<String>, LogLevel, Nullable<DbContextLoggerOptions>) |
使用提供的動作,記錄指定類別中的所有事件。 例如,使用 |
LogTo(Action<String>, IEnumerable<String>, LogLevel, Nullable<DbContextLoggerOptions>) |
使用提供的動作,記錄指定類別中的所有事件。 例如,使用 |
LogTo(Action<String>, LogLevel, Nullable<DbContextLoggerOptions>) |
使用提供的動作記錄。 例如,使用 |
LogTo(Action<String>, LogLevel, Nullable<DbContextLoggerOptions>) |
使用提供的動作記錄。 例如,使用 |
LogTo(Func<EventId,LogLevel,Boolean>, Action<EventData>) |
將事件記錄至自訂記錄器委派,並由自訂篩選委派篩選。 篩選準則應該會傳回 true 來記錄訊息,或傳回 false,以將它篩選掉記錄檔。 |
LogTo(Func<EventId,LogLevel,Boolean>, Action<EventData>) |
將事件記錄至自訂記錄器委派,並由自訂篩選委派篩選。 篩選準則應該會傳回 true 來記錄訊息,或傳回 false,以將它篩選掉記錄檔。 (繼承來源 DbContextOptionsBuilder) |
ReplaceService<TService,TCurrentImplementation,TNewImplementation>() |
以不同的實作取代服務合約特定實作的內部 Entity Framework 實作。 |
ReplaceService<TService,TCurrentImplementation,TNewImplementation>() |
以不同的實作取代服務合約特定實作的內部 Entity Framework 實作。 (繼承來源 DbContextOptionsBuilder) |
ReplaceService<TService,TImplementation>() |
以不同的實作取代服務合約的所有內部 Entity Framework 實作。 |
ReplaceService<TService,TImplementation>() |
以不同的實作取代服務合約的所有內部 Entity Framework 實作。 (繼承來源 DbContextOptionsBuilder) |
UseApplicationServiceProvider(IServiceProvider) |
IServiceProvider設定要從中取得應用程式服務的 。 使用 'AddDbCoNtext' 時,這會自動完成,因此需要呼叫此方法很少。 |
UseApplicationServiceProvider(IServiceProvider) |
IServiceProvider設定要從中取得應用程式服務的 。 這會在使用 'AddDbCoNtext' 或 'AddDbCoNtextPool' 時自動完成,因此需要呼叫此方法很少。 (繼承來源 DbContextOptionsBuilder) |
UseInternalServiceProvider(IServiceProvider) |
IServiceProvider設定內容應該從中解析其所有服務的 。 如果未指定,EF 將會建立和管理服務提供者。 |
UseLoggerFactory(ILoggerFactory) |
ILoggerFactory設定 ,用來建立 ILogger 此內容所完成記錄的實例。 |
UseMemoryCache(IMemoryCache) |
IMemoryCache設定要用於此內容之查詢快取的 。 |
UseModel(IModel) |
設定要用於內容的模型。 如果已設定模型, OnModelCreating(ModelBuilder) 則不會執行。 |
UseQueryTrackingBehavior(QueryTrackingBehavior) |
設定針對內容執行的 LINQ 查詢追蹤行為。 停用變更追蹤對於唯讀案例很有用,因為它可避免為每個實體實例設定變更追蹤的額外負荷。 如果您想要操作實體實例,並使用 將那些變更保存到資料庫 SaveChanges() ,則不應該停用變更追蹤。 |
UseQueryTrackingBehavior(QueryTrackingBehavior) |
設定針對內容執行的 LINQ 查詢追蹤行為。 停用變更追蹤對於唯讀案例很有用,因為它可避免為每個實體實例設定變更追蹤的額外負荷。 如果您想要操作實體實例,並使用 將那些變更保存到資料庫 SaveChanges() ,則不應該停用變更追蹤。 (繼承來源 DbContextOptionsBuilder) |
UseRootApplicationServiceProvider() |
從範圍應用程式服務提供者解析根 IServiceProvider 目錄。 根提供者可用來從單一內部服務取得單一應用程式服務。 |
UseRootApplicationServiceProvider() |
從範圍應用程式服務提供者解析根 IServiceProvider 目錄。 根提供者可用來從單一內部服務取得單一應用程式服務。 (繼承來源 DbContextOptionsBuilder) |
UseRootApplicationServiceProvider(IServiceProvider) |
設定單一應用程式服務可從單一內部服務取得的根 IServiceProvider 目錄。 |
UseRootApplicationServiceProvider(IServiceProvider) |
設定單一應用程式服務可從單一內部服務取得的根 IServiceProvider 目錄。 (繼承來源 DbContextOptionsBuilder) |
明確介面實作
IDbContextOptionsBuilderInfrastructure.AddOrUpdateExtension<TExtension>(TExtension) |
將指定的延伸模組新增至選項。 如果已經存在相同類型的現有擴充功能,則會加以取代。 (繼承來源 DbContextOptionsBuilder) |