DbContextOptionsBuilder Kelas

Definisi

Menyediakan permukaan API sederhana untuk mengonfigurasi DbContextOptions. Database (dan ekstensi lainnya) biasanya menentukan metode ekstensi pada objek ini yang memungkinkan Anda mengonfigurasi koneksi database (dan opsi lain) untuk digunakan untuk konteks.

public class DbContextOptionsBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IDbContextOptionsBuilderInfrastructure
type DbContextOptionsBuilder = class
    interface IDbContextOptionsBuilderInfrastructure
Public Class DbContextOptionsBuilder
Implements IDbContextOptionsBuilderInfrastructure
Warisan
DbContextOptionsBuilder
Turunan
Penerapan

Keterangan

Anda dapat menggunakan DbContextOptionsBuilder untuk mengonfigurasi konteks dengan menimpa OnConfiguring(DbContextOptionsBuilder) atau membuat DbContextOptions secara eksternal dan meneruskannya ke konstruktor konteks.

Lihat Menggunakan DbContextOptions untuk informasi dan contoh selengkapnya.

Konstruktor

DbContextOptionsBuilder()

Menginisialisasi instans DbContextOptionsBuilder baru kelas tanpa opsi yang ditetapkan.

DbContextOptionsBuilder(DbContextOptions)

Menginisialisasi instans DbContextOptionsBuilder baru kelas untuk mengonfigurasi DbContextOptionslebih lanjut .

Properti

IsConfigured

Mendapatkan nilai yang menunjukkan apakah ada opsi yang telah dikonfigurasi.

Options

Mendapatkan opsi yang sedang dikonfigurasi.

Metode

AddInterceptors(IEnumerable<IInterceptor>)

Menambahkan instans ke instans IInterceptor yang terdaftar pada konteks.

AddInterceptors(IInterceptor[])

Menambahkan instans ke instans IInterceptor yang terdaftar pada konteks.

ConfigureLoggingCacheTime(TimeSpan)

Mengonfigurasi berapa lama EF Core akan menyimpan konfigurasi pengelogan di jalur performa tinggi tertentu. Hal ini membuat EF Core melewati pemeriksaan pengelogan yang berpotensi mahal, tetapi berarti bahwa perubahan pengelogan runtime bahasa umum (misalnya mendaftarkan yang baru DiagnosticListener mungkin tidak segera dipertahankan).

ConfigureWarnings(Action<WarningsConfigurationBuilder>)

Mengonfigurasi perilaku runtime peringatan yang dihasilkan oleh Kerangka Kerja Entitas. Anda dapat mengatur perilaku dan perilaku default untuk setiap jenis peringatan.

ConfigureWarnings(Action<WarningsConfigurationBuilder>)

Mengonfigurasi perilaku runtime peringatan yang dihasilkan oleh Kerangka Kerja Entitas. Anda dapat mengatur perilaku dan perilaku default untuk setiap jenis peringatan.

EnableDetailedErrors(Boolean)

Mengaktifkan kesalahan terperinci saat menangani pengecualian nilai data yang terjadi selama pemrosesan hasil kueri penyimpanan. Kesalahan tersebut paling sering terjadi karena kesalahan konfigurasi properti entitas. Misalnya, jika properti dikonfigurasi berjenis 'int', tetapi data yang mendasarinya di penyimpanan sebenarnya berjenis 'string', maka pengecualian akan dihasilkan pada runtime selama pemrosesan nilai data. Ketika opsi ini diaktifkan dan kesalahan data ditemui, pengecualian yang dihasilkan akan menyertakan detail properti entitas tertentu yang menghasilkan kesalahan.

EnableSensitiveDataLogging()

Memungkinkan data aplikasi disertakan dalam pesan pengecualian, pengelogan, dll. Ini dapat mencakup nilai yang ditetapkan ke properti instans entitas Anda, nilai parameter untuk perintah yang dikirim ke database, dan data lainnya. Anda hanya boleh mengaktifkan bendera ini jika Anda memiliki langkah-langkah keamanan yang sesuai berdasarkan sensitivitas data ini.

EnableSensitiveDataLogging(Boolean)

Memungkinkan data aplikasi disertakan dalam pesan pengecualian, pengelogan, dll. Ini dapat mencakup nilai yang ditetapkan ke properti instans entitas Anda, nilai parameter untuk perintah yang dikirim ke database, dan data lainnya. Anda hanya boleh mengaktifkan bendera ini jika Anda memiliki langkah-langkah keamanan yang sesuai berdasarkan sensitivitas data ini.

EnableServiceProviderCaching(Boolean)

Mengaktifkan atau menonaktifkan penembolokan penyedia layanan internal. Menonaktifkan penembolokan dapat berdampak besar pada performa dan hanya boleh digunakan dalam skenario pengujian yang membangun banyak penyedia layanan untuk isolasi pengujian.

EnableThreadSafetyChecks(Boolean)

Menonaktifkan deteksi konkurensi, yang mendeteksi banyak kasus penggunaan DbContext instans bersamaan yang salah dan menyebabkan pengecualian informatif dilemparkan. Ini memberikan peningkatan performa kecil, tetapi jika instans digunakan secara bersamaan, perilaku tidak akan terdefinisi dan program mungkin gagal dengan cara yang DbContext tidak dapat diprediksi.

LogTo(Action<String>, Func<EventId,LogLevel,Boolean>, Nullable<DbContextLoggerOptions>)

Mencatat peristiwa yang difilter oleh delegasi filter kustom yang disediakan. Filter harus mengembalikan true untuk mencatat pesan, atau false untuk memfilternya keluar dari log.

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

Mencatat peristiwa yang ditentukan menggunakan tindakan yang disediakan. Misalnya, gunakan optionsBuilder.LogTo(Console.WriteLine, new[] { CoreEventId.ContextInitialized }) untuk mencatat ContextInitialized peristiwa ke konsol.

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

Mencatat semua peristiwa dalam kategori yang ditentukan menggunakan tindakan yang disediakan. Misalnya, gunakan optionsBuilder.LogTo(Console.WriteLine, new[] { DbLoggerCategory.Infrastructure.Name }) untuk mencatat semua peristiwa dalam DbLoggerCategory.Infrastructure kategori.

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

Log menggunakan tindakan yang disediakan. Misalnya, gunakan optionsBuilder.LogTo(Console.WriteLine) untuk masuk ke konsol.

LogTo(Func<EventId,LogLevel,Boolean>, Action<EventData>)

Mencatat peristiwa ke delegasi pencatat kustom yang difilter oleh delegasi filter kustom. Filter harus mengembalikan true untuk mencatat pesan, atau false untuk memfilternya keluar dari log.

ReplaceService<TService,TCurrentImplementation,TNewImplementation>()

Menggantikan implementasi Kerangka Kerja Entitas internal dari implementasi tertentu dari kontrak layanan dengan implementasi yang berbeda.

ReplaceService<TService,TImplementation>()

Mengganti semua implementasi Kerangka Kerja Entitas internal dari kontrak layanan dengan implementasi yang berbeda.

UseApplicationServiceProvider(IServiceProvider)

Mengatur dari IServiceProvider mana layanan aplikasi akan diperoleh. Ini dilakukan secara otomatis saat menggunakan 'AddDbContext' atau 'AddDbContextPool', jadi jarang metode ini perlu dipanggil.

UseInternalServiceProvider(IServiceProvider)

Mengatur asal IServiceProvider konteks untuk menyelesaikan semua layanannya. EF akan membuat dan mengelola penyedia layanan jika tidak ada yang ditentukan.

UseLoggerFactory(ILoggerFactory)

ILoggerFactory Mengatur yang akan digunakan untuk membuat ILogger instans untuk pengelogan yang dilakukan oleh konteks ini.

UseMemoryCache(IMemoryCache)

Mengatur yang IMemoryCache akan digunakan untuk penembolokan kueri oleh konteks ini.

UseModel(IModel)

Mengatur model yang akan digunakan untuk konteks. Jika model diatur, maka OnModelCreating(ModelBuilder) tidak akan dijalankan.

UseQueryTrackingBehavior(QueryTrackingBehavior)

Mengatur perilaku pelacakan untuk kueri LINQ yang dijalankan terhadap konteks. Menonaktifkan pelacakan perubahan berguna untuk skenario baca-saja karena menghindari overhead pengaturan pelacakan perubahan untuk setiap instans entitas. Anda tidak boleh menonaktifkan pelacakan perubahan jika Anda ingin memanipulasi instans entitas dan mempertahankan perubahan tersebut ke database menggunakan SaveChanges().

UseRootApplicationServiceProvider()

Menyelesaikan akar IServiceProvider dari penyedia layanan aplikasi terlingkup. Penyedia akar dapat digunakan untuk mendapatkan layanan aplikasi singleton dari layanan internal singleton.

UseRootApplicationServiceProvider(IServiceProvider)

Mengatur akar IServiceProvider tempat layanan aplikasi singleton dapat diperoleh dari layanan internal singleton.

Implementasi Antarmuka Eksplisit

IDbContextOptionsBuilderInfrastructure.AddOrUpdateExtension<TExtension>(TExtension)

Menambahkan ekstensi yang diberikan ke opsi. Jika ekstensi yang ada dengan jenis yang sama sudah ada, ekstensi tersebut akan diganti.

Metode Ekstensi

UseCosmos(DbContextOptionsBuilder, String, TokenCredential, String, Action<CosmosDbContextOptionsBuilder>)

Mengonfigurasi konteks untuk menyambungkan ke database Azure Cosmos.

UseCosmos(DbContextOptionsBuilder, String, String, Action<CosmosDbContextOptionsBuilder>)

Mengonfigurasi konteks untuk menyambungkan ke database Azure Cosmos.

UseCosmos(DbContextOptionsBuilder, String, String, String, Action<CosmosDbContextOptionsBuilder>)

Mengonfigurasi konteks untuk menyambungkan ke database Azure Cosmos.

UseInMemoryDatabase(DbContextOptionsBuilder, Action<InMemoryDbContextOptionsBuilder>)
Kedaluwarsa.
Kedaluwarsa.

Mengonfigurasi konteks untuk menyambungkan ke database dalam memori bersama warisan. Metode ini sudah usang. Gunakan UseInMemoryDatabase(DbContextOptionsBuilder, String, Action<InMemoryDbContextOptionsBuilder>) sebagai gantinya.

UseInMemoryDatabase(DbContextOptionsBuilder, String, InMemoryDatabaseRoot, Action<InMemoryDbContextOptionsBuilder>)

Mengonfigurasi konteks untuk menyambungkan ke database dalam memori bernama. Database dalam memori dibagikan di mana saja nama yang sama digunakan, tetapi hanya untuk penyedia layanan tertentu.

UseInMemoryDatabase(DbContextOptionsBuilder, String, Action<InMemoryDbContextOptionsBuilder>)

Mengonfigurasi konteks untuk menyambungkan ke database dalam memori bernama. Database dalam memori dibagikan di mana saja nama yang sama digunakan, tetapi hanya untuk penyedia layanan tertentu. Untuk menggunakan database dalam memori yang sama di seluruh penyedia layanan, panggil UseInMemoryDatabase(DbContextOptionsBuilder, String, InMemoryDatabaseRoot, Action<InMemoryDbContextOptionsBuilder>) meneruskan berbagi InMemoryDatabaseRoot untuk melakukan root database.

UseChangeTrackingProxies(DbContextOptionsBuilder, Boolean, Boolean)

Mengaktifkan pembuatan proksi pelacakan perubahan.

UseLazyLoadingProxies(DbContextOptionsBuilder, Action<LazyLoadingProxiesOptionsBuilder>)

Mengaktifkan pembuatan proksi pemuatan malas.

UseLazyLoadingProxies(DbContextOptionsBuilder, Boolean)

Mengaktifkan pembuatan proksi pemuatan malas.

UseSqlite(DbContextOptionsBuilder, Action<SqliteDbContextOptionsBuilder>)

Mengonfigurasi konteks untuk menyambungkan ke database SQLite, tetapi tanpa awalnya mengatur salah satu DbConnection atau string koneksi.

UseSqlite(DbContextOptionsBuilder, DbConnection, Action<SqliteDbContextOptionsBuilder>)

Mengonfigurasi konteks untuk menyambungkan ke database SQLite.

UseSqlite(DbContextOptionsBuilder, DbConnection, Boolean, Action<SqliteDbContextOptionsBuilder>)

Mengonfigurasi konteks untuk menyambungkan ke database SQLite.

UseSqlite(DbContextOptionsBuilder, String, Action<SqliteDbContextOptionsBuilder>)

Mengonfigurasi konteks untuk menyambungkan ke database SQLite.

UseSqlServer(DbContextOptionsBuilder, Action<SqlServerDbContextOptionsBuilder>)

Mengonfigurasi konteks untuk menyambungkan ke database Microsoft SQL Server, tetapi tanpa awalnya mengatur salah satu DbConnection atau string koneksi.

UseSqlServer(DbContextOptionsBuilder, DbConnection, Action<SqlServerDbContextOptionsBuilder>)

Mengonfigurasi konteks untuk menyambungkan ke database Microsoft SQL Server.

UseSqlServer(DbContextOptionsBuilder, DbConnection, Boolean, Action<SqlServerDbContextOptionsBuilder>)

Mengonfigurasi konteks untuk menyambungkan ke database Microsoft SQL Server.

UseSqlServer(DbContextOptionsBuilder, String, Action<SqlServerDbContextOptionsBuilder>)

Mengonfigurasi konteks untuk menyambungkan ke database Microsoft SQL Server.

Berlaku untuk