Share via


DbContext Kelas

Definisi

Instans DbContext mewakili sesi dengan database dan dapat digunakan untuk mengkueri dan menyimpan instans entitas Anda. DbContext adalah kombinasi dari pola Unit Kerja dan Repositori.

public class DbContext : IDisposable, Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<IServiceProvider>
public class DbContext : IDisposable, Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<IServiceProvider>, Microsoft.EntityFrameworkCore.Internal.IDbContextDependencies, Microsoft.EntityFrameworkCore.Internal.IDbContextPoolable, Microsoft.EntityFrameworkCore.Internal.IDbSetCache
public class DbContext : IDisposable, Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<IServiceProvider>, Microsoft.EntityFrameworkCore.Internal.IDbContextDependencies, Microsoft.EntityFrameworkCore.Internal.IDbContextPoolable, Microsoft.EntityFrameworkCore.Internal.IDbQueryCache, Microsoft.EntityFrameworkCore.Internal.IDbSetCache
public class DbContext : IAsyncDisposable, IDisposable, Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<IServiceProvider>, Microsoft.EntityFrameworkCore.Internal.IDbContextDependencies, Microsoft.EntityFrameworkCore.Internal.IDbContextPoolable, Microsoft.EntityFrameworkCore.Internal.IDbSetCache
type DbContext = class
    interface IDisposable
    interface IInfrastructure<IServiceProvider>
type DbContext = class
    interface IDisposable
    interface IInfrastructure<IServiceProvider>
    interface IDbContextDependencies
    interface IDbSetCache
    interface IDbContextPoolable
type DbContext = class
    interface IDisposable
    interface IInfrastructure<IServiceProvider>
    interface IDbContextDependencies
    interface IDbSetCache
    interface IDbQueryCache
    interface IDbContextPoolable
type DbContext = class
    interface IDisposable
    interface IAsyncDisposable
    interface IInfrastructure<IServiceProvider>
    interface IDbContextDependencies
    interface IDbSetCache
    interface IDbContextPoolable
    interface IResettableService
type DbContext = class
    interface IInfrastructure<IServiceProvider>
    interface IDbContextDependencies
    interface IDbSetCache
    interface IDbContextPoolable
    interface IResettableService
    interface IDisposable
    interface IAsyncDisposable
Public Class DbContext
Implements IDisposable, IInfrastructure(Of IServiceProvider)
Public Class DbContext
Implements IDbContextDependencies, IDbContextPoolable, IDbSetCache, IDisposable, IInfrastructure(Of IServiceProvider)
Public Class DbContext
Implements IDbContextDependencies, IDbContextPoolable, IDbQueryCache, IDbSetCache, IDisposable, IInfrastructure(Of IServiceProvider)
Public Class DbContext
Implements IAsyncDisposable, IDbContextDependencies, IDbContextPoolable, IDbSetCache, IDisposable, IInfrastructure(Of IServiceProvider)
Warisan
DbContext
Penerapan
IInfrastructure<IServiceProvider> IDisposable Microsoft.EntityFrameworkCore.Internal.IDbContextDependencies Microsoft.EntityFrameworkCore.Internal.IDbContextPoolable Microsoft.EntityFrameworkCore.Internal.IDbSetCache Microsoft.EntityFrameworkCore.Internal.IDbQueryCache IResettableService IAsyncDisposable

Keterangan

Entity Framework Core tidak mendukung beberapa operasi paralel yang dijalankan pada instans DbContext yang sama. Ini termasuk eksekusi paralel kueri asinkron dan penggunaan bersamaan eksplisit dari beberapa utas. Oleh karena itu, selalu tunggu panggilan asinkron segera, atau gunakan instans DbContext terpisah untuk operasi yang dijalankan secara paralel. Lihat Menghindari masalah utas DbContext untuk informasi dan contoh selengkapnya.

Biasanya Anda membuat kelas yang berasal dari DbContext dan berisi DbSet<TEntity> properti untuk setiap entitas dalam model. DbSet<TEntity> Jika properti memiliki setter publik, properti secara otomatis diinisialisasi saat instans konteks turunan dibuat.

Ambil alih OnConfiguring(DbContextOptionsBuilder) metode untuk mengonfigurasi database (dan opsi lain) yang akan digunakan untuk konteks. Atau, jika Anda lebih suka melakukan konfigurasi secara eksternal alih-alih sebaris dalam konteks Anda, Anda dapat menggunakan DbContextOptionsBuilder<TContext> (atau DbContextOptionsBuilder) untuk membuat instans DbContextOptions<TContext> (atau DbContextOptions) secara eksternal dan meneruskannya ke konstruktor DbContextdasar .

Model ini ditemukan dengan menjalankan serangkaian konvensi atas kelas entitas yang ditemukan dalam DbSet<TEntity> properti pada konteks turunan. Untuk mengonfigurasi model lebih lanjut yang ditemukan berdasarkan konvensi, Anda dapat mengambil OnModelCreating(ModelBuilder) alih metode .

Lihat Masa pakai, konfigurasi, dan inisialisasi DbContext, Mengkueri data dengan EF Core, Mengubah pelacakan, dan Menyimpan data dengan EF Core untuk informasi dan contoh selengkapnya.

Konstruktor

DbContext()

Menginisialisasi instans baru kelas DbContext. Metode OnConfiguring(DbContextOptionsBuilder) ini akan dipanggil untuk mengonfigurasi database (dan opsi lainnya) yang akan digunakan untuk konteks ini.

DbContext(DbContextOptions)

Menginisialisasi instans DbContext baru kelas menggunakan opsi yang ditentukan. Metode OnConfiguring(DbContextOptionsBuilder) ini masih akan dipanggil untuk memungkinkan konfigurasi opsi lebih lanjut.

Properti

ChangeTracker

Menyediakan akses ke informasi dan operasi untuk instans entitas yang dilacak konteks ini.

ContextId

Pengidentifikasi unik untuk instans konteks dan sewa kumpulan, jika ada.

Database

Menyediakan akses ke informasi dan operasi terkait database untuk konteks ini.

Model

Metadata tentang bentuk entitas, hubungan di antara mereka, dan bagaimana mereka memetakan ke database. Mungkin tidak menyertakan semua informasi yang diperlukan untuk menginisialisasi database.

Metode

Add(Object)

Mulai melacak entitas yang diberikan, dan entitas lain yang dapat dijangkau yang belum dilacak, dalam Added status sedingin itu mereka akan dimasukkan ke dalam database saat SaveChanges() dipanggil.

Add<TEntity>(TEntity)

Mulai melacak entitas yang diberikan, dan entitas lain yang dapat dijangkau yang belum dilacak, dalam Added status sedingin itu mereka akan dimasukkan ke dalam database saat SaveChanges() dipanggil.

AddAsync(Object, CancellationToken)

Mulai melacak entitas yang diberikan, dan entitas lain yang dapat dijangkau yang belum dilacak, dalam Added status sedingin itu mereka akan dimasukkan ke dalam database saat SaveChanges() dipanggil.

AddAsync<TEntity>(TEntity, CancellationToken)

Mulai melacak entitas yang diberikan, dan entitas lain yang dapat dijangkau yang belum dilacak, dalam Added status sedingin itu mereka akan dimasukkan ke dalam database saat SaveChanges() dipanggil.

AddRange(IEnumerable<Object>)

Mulai melacak entitas yang diberikan, dan entitas lain yang dapat dijangkau yang belum dilacak, dalam Added status sedingin itu mereka akan dimasukkan ke dalam database saat SaveChanges() dipanggil.

AddRange(Object[])

Mulai melacak entitas yang diberikan, dan entitas lain yang dapat dijangkau yang belum dilacak, dalam Added status sedingin itu mereka akan dimasukkan ke dalam database saat SaveChanges() dipanggil.

AddRangeAsync(IEnumerable<Object>, CancellationToken)

Mulai melacak entitas yang diberikan, dan entitas lain yang dapat dijangkau yang belum dilacak, dalam Added status sedingin itu mereka akan dimasukkan ke dalam database saat SaveChanges() dipanggil.

AddRangeAsync(Object[])

Mulai melacak entitas yang diberikan, dan entitas lain yang dapat dijangkau yang belum dilacak, dalam Added status sedingin itu mereka akan dimasukkan ke dalam database saat SaveChanges() dipanggil.

Attach(Object)

Mulai melacak entitas dan entri yang diberikan yang dapat dijangkau dari entitas tertentu menggunakan Unchanged status secara default, tetapi lihat di bawah ini untuk kasus kapan status yang berbeda akan digunakan.

Attach<TEntity>(TEntity)

Mulai melacak entitas dan entri yang diberikan yang dapat dijangkau dari entitas tertentu menggunakan Unchanged status secara default, tetapi lihat di bawah ini untuk kasus kapan status yang berbeda akan digunakan.

AttachRange(IEnumerable<Object>)

Mulai melacak entitas dan entri yang diberikan yang dapat dijangkau dari entitas tertentu menggunakan Unchanged status secara default, tetapi lihat di bawah ini untuk kasus kapan status yang berbeda akan digunakan.

AttachRange(Object[])

Mulai melacak entitas dan entri yang diberikan yang dapat dijangkau dari entitas tertentu menggunakan Unchanged status secara default, tetapi lihat di bawah ini untuk kasus kapan status yang berbeda akan digunakan.

ConfigureConventions(ModelConfigurationBuilder)

Ambil alih metode ini untuk mengatur default dan mengonfigurasi konvensi sebelum dijalankan. Metode ini dipanggil sebelum OnModelCreating(ModelBuilder).

Dispose()

Merilis sumber daya yang dialokasikan untuk konteks ini.

DisposeAsync()

Merilis sumber daya yang dialokasikan untuk konteks ini.

Entry(Object)

Mendapatkan untuk entitas yang EntityEntry diberikan. Entri ini menyediakan akses untuk mengubah informasi dan operasi pelacakan untuk entitas.

Entry<TEntity>(TEntity)

Mendapatkan untuk entitas yang EntityEntry<TEntity> diberikan. Entri ini menyediakan akses untuk mengubah informasi dan operasi pelacakan untuk entitas.

Find(Type, Object[])

Menemukan entitas dengan nilai kunci primer yang diberikan. Jika entitas dengan nilai kunci primer yang diberikan sedang dilacak oleh konteks, entitas tersebut akan segera dikembalikan tanpa membuat permintaan ke database. Jika tidak, kueri dibuat ke database untuk entitas dengan nilai kunci primer yang diberikan dan entitas ini, jika ditemukan, dilampirkan ke konteks dan dikembalikan. Jika tidak ada entitas yang ditemukan, maka null dikembalikan.

Find<TEntity>(Object[])

Menemukan entitas dengan nilai kunci primer yang diberikan. Jika entitas dengan nilai kunci primer yang diberikan sedang dilacak oleh konteks, entitas tersebut akan segera dikembalikan tanpa membuat permintaan ke database. Jika tidak, kueri dibuat ke database untuk entitas dengan nilai kunci primer yang diberikan dan entitas ini, jika ditemukan, dilampirkan ke konteks dan dikembalikan. Jika tidak ada entitas yang ditemukan, maka null dikembalikan.

FindAsync(Type, Object[])

Menemukan entitas dengan nilai kunci primer yang diberikan. Jika entitas dengan nilai kunci primer yang diberikan sedang dilacak oleh konteks, entitas tersebut akan segera dikembalikan tanpa membuat permintaan ke database. Jika tidak, kueri dibuat ke database untuk entitas dengan nilai kunci primer yang diberikan dan entitas ini, jika ditemukan, dilampirkan ke konteks dan dikembalikan. Jika tidak ada entitas yang ditemukan, maka null dikembalikan.

FindAsync(Type, Object[], CancellationToken)

Menemukan entitas dengan nilai kunci primer yang diberikan. Jika entitas dengan nilai kunci primer yang diberikan sedang dilacak oleh konteks, entitas tersebut akan segera dikembalikan tanpa membuat permintaan ke database. Jika tidak, kueri dibuat ke database untuk entitas dengan nilai kunci primer yang diberikan dan entitas ini, jika ditemukan, dilampirkan ke konteks dan dikembalikan. Jika tidak ada entitas yang ditemukan, maka null dikembalikan.

FindAsync<TEntity>(Object[])

Menemukan entitas dengan nilai kunci primer yang diberikan. Jika entitas dengan nilai kunci primer yang diberikan sedang dilacak oleh konteks, entitas tersebut akan segera dikembalikan tanpa membuat permintaan ke database. Jika tidak, kueri dibuat ke database untuk entitas dengan nilai kunci primer yang diberikan dan entitas ini, jika ditemukan, dilampirkan ke konteks dan dikembalikan. Jika tidak ada entitas yang ditemukan, maka null dikembalikan.

FindAsync<TEntity>(Object[], CancellationToken)

Menemukan entitas dengan nilai kunci primer yang diberikan. Jika entitas dengan nilai kunci primer yang diberikan sedang dilacak oleh konteks, entitas tersebut akan segera dikembalikan tanpa membuat permintaan ke database. Jika tidak, kueri dibuat ke database untuk entitas dengan nilai kunci primer yang diberikan dan entitas ini, jika ditemukan, dilampirkan ke konteks dan dikembalikan. Jika tidak ada entitas yang ditemukan, maka null dikembalikan.

FromExpression<TResult>(Expression<Func<IQueryable<TResult>>>)

Membuat yang dapat dikueri untuk ekspresi kueri tertentu.

OnConfiguring(DbContextOptionsBuilder)

Ambil alih metode ini untuk mengonfigurasi database (dan opsi lain) yang akan digunakan untuk konteks ini. Metode ini dipanggil untuk setiap instans konteks yang dibuat. Implementasi dasar tidak melakukan apa pun.

OnModelCreating(ModelBuilder)

Ambil alih metode ini untuk mengonfigurasi lebih lanjut model yang ditemukan oleh konvensi dari jenis entitas yang diekspos dalam DbSet<TEntity> properti pada konteks turunan Anda. Model yang dihasilkan dapat di-cache dan digunakan kembali untuk instans berikutnya dari konteks turunan Anda.

Query<TQuery>()
Kedaluwarsa.

DbSet<TEntity> Membuat yang dapat digunakan untuk mengkueri TQueryinstans .

Remove(Object)

Mulai melacak entitas yang diberikan dalam Deleted status sehingga akan dihapus dari database saat SaveChanges() dipanggil.

Remove<TEntity>(TEntity)

Mulai melacak entitas yang diberikan dalam Deleted status sehingga akan dihapus dari database saat SaveChanges() dipanggil.

RemoveRange(IEnumerable<Object>)

Mulai melacak entitas yang diberikan dalam Deleted status sehingga akan dihapus dari database saat SaveChanges() dipanggil.

RemoveRange(Object[])

Mulai melacak entitas yang diberikan dalam Deleted status sehingga akan dihapus dari database saat SaveChanges() dipanggil.

SaveChanges()

Menyimpan semua perubahan yang dibuat dalam konteks ini ke database.

SaveChanges(Boolean)

Menyimpan semua perubahan yang dibuat dalam konteks ini ke database.

SaveChangesAsync(Boolean, CancellationToken)

Menyimpan semua perubahan yang dibuat dalam konteks ini ke database.

SaveChangesAsync(CancellationToken)

Menyimpan semua perubahan yang dibuat dalam konteks ini ke database.

Set<TEntity>()

DbSet<TEntity> Membuat yang dapat digunakan untuk mengkueri TEntitydan menyimpan instans .

Set<TEntity>(String)

DbSet<TEntity> Membuat untuk jenis entitas jenis bersama yang dapat digunakan untuk mengkueri dan menyimpan instans TEntity.

Update(Object)

Mulai melacak entitas dan entri yang diberikan yang dapat dijangkau dari entitas tertentu menggunakan Modified status secara default, tetapi lihat di bawah ini untuk kasus kapan status yang berbeda akan digunakan.

Update<TEntity>(TEntity)

Mulai melacak entitas dan entri yang diberikan yang dapat dijangkau dari entitas tertentu menggunakan Modified status secara default, tetapi lihat di bawah ini untuk kasus kapan status yang berbeda akan digunakan.

UpdateRange(IEnumerable<Object>)

Mulai melacak entitas dan entri yang diberikan yang dapat dijangkau dari entitas tertentu menggunakan Modified status secara default, tetapi lihat di bawah ini untuk kasus ketika status yang berbeda akan digunakan.

UpdateRange(Object[])

Mulai melacak entitas dan entri yang diberikan yang dapat dijangkau dari entitas tertentu menggunakan Modified status secara default, tetapi lihat di bawah ini untuk kasus ketika status yang berbeda akan digunakan.

Acara

SaveChangesFailed

Peristiwa diaktifkan jika panggilan ke SaveChanges atau SaveChangesAsync gagal dengan pengecualian.

SavedChanges

Peristiwa yang diaktifkan di akhir panggilan ke SaveChanges atau SaveChangesAsync

SavingChanges

Peristiwa yang diaktifkan di awal panggilan ke SaveChanges atau SaveChangesAsync

Implementasi Antarmuka Eksplisit

IDbContextDependencies.ChangeDetector

Ini adalah API internal yang mendukung infrastruktur Entity Framework Core dan tidak tunduk pada standar kompatibilitas yang sama dengan API publik. Ini dapat diubah atau dihapus tanpa pemberitahuan dalam rilis apa pun. Anda hanya boleh menggunakannya langsung dalam kode Anda dengan sangat hati-hati dan mengetahui bahwa melakukannya dapat mengakibatkan kegagalan aplikasi saat memperbarui ke rilis Entity Framework Core baru.

IDbContextDependencies.EntityFinderFactory

Ini adalah API internal yang mendukung infrastruktur Entity Framework Core dan tidak tunduk pada standar kompatibilitas yang sama dengan API publik. Ini dapat diubah atau dihapus tanpa pemberitahuan dalam rilis apa pun. Anda hanya boleh menggunakannya langsung dalam kode Anda dengan sangat hati-hati dan mengetahui bahwa melakukannya dapat mengakibatkan kegagalan aplikasi saat memperbarui ke rilis Entity Framework Core baru.

IDbContextDependencies.EntityFinderSource

API ini mendukung infrastruktur Entity Framework Core dan tidak dimaksudkan untuk digunakan langsung dari kode Anda. API ini dapat berubah atau dihapus dalam rilis mendatang.

IDbContextDependencies.EntityGraphAttacher

Ini adalah API internal yang mendukung infrastruktur Entity Framework Core dan tidak tunduk pada standar kompatibilitas yang sama dengan API publik. Ini dapat diubah atau dihapus tanpa pemberitahuan dalam rilis apa pun. Anda hanya boleh menggunakannya langsung dalam kode Anda dengan sangat hati-hati dan mengetahui bahwa melakukannya dapat mengakibatkan kegagalan aplikasi saat memperbarui ke rilis Entity Framework Core baru.

IDbContextDependencies.ExceptionDetector

Ini adalah API internal yang mendukung infrastruktur Entity Framework Core dan tidak tunduk pada standar kompatibilitas yang sama dengan API publik. Ini dapat diubah atau dihapus tanpa pemberitahuan dalam rilis apa pun. Anda hanya boleh menggunakannya langsung dalam kode Anda dengan sangat hati-hati dan mengetahui bahwa melakukannya dapat mengakibatkan kegagalan aplikasi saat memperbarui ke rilis Entity Framework Core baru.

IDbContextDependencies.InfrastructureLogger

Ini adalah API internal yang mendukung infrastruktur Entity Framework Core dan tidak tunduk pada standar kompatibilitas yang sama dengan API publik. Ini dapat diubah atau dihapus tanpa pemberitahuan dalam rilis apa pun. Anda hanya boleh menggunakannya langsung dalam kode Anda dengan sangat hati-hati dan mengetahui bahwa melakukannya dapat mengakibatkan kegagalan aplikasi saat memperbarui ke rilis Entity Framework Core baru.

IDbContextDependencies.QueryProvider

Ini adalah API internal yang mendukung infrastruktur Entity Framework Core dan tidak tunduk pada standar kompatibilitas yang sama dengan API publik. Ini dapat diubah atau dihapus tanpa pemberitahuan dalam rilis apa pun. Anda hanya boleh menggunakannya langsung dalam kode Anda dengan sangat hati-hati dan mengetahui bahwa melakukannya dapat mengakibatkan kegagalan aplikasi saat memperbarui ke rilis Entity Framework Core baru.

IDbContextDependencies.QuerySource

API ini mendukung infrastruktur Entity Framework Core dan tidak dimaksudkan untuk digunakan langsung dari kode Anda. API ini dapat berubah atau dihapus dalam rilis mendatang.

IDbContextDependencies.SetSource

Ini adalah API internal yang mendukung infrastruktur Entity Framework Core dan tidak tunduk pada standar kompatibilitas yang sama dengan API publik. Ini dapat diubah atau dihapus tanpa pemberitahuan dalam rilis apa pun. Anda hanya boleh menggunakannya langsung dalam kode Anda dengan sangat hati-hati dan mengetahui bahwa melakukannya dapat mengakibatkan kegagalan aplikasi saat memperbarui ke rilis Entity Framework Core baru.

IDbContextDependencies.StateManager

Ini adalah API internal yang mendukung infrastruktur Entity Framework Core dan tidak tunduk pada standar kompatibilitas yang sama dengan API publik. Ini dapat diubah atau dihapus tanpa pemberitahuan dalam rilis apa pun. Anda hanya boleh menggunakannya langsung dalam kode Anda dengan sangat hati-hati dan mengetahui bahwa melakukannya dapat mengakibatkan kegagalan aplikasi saat memperbarui ke rilis Entity Framework Core baru.

IDbContextDependencies.UpdateLogger

Ini adalah API internal yang mendukung infrastruktur Entity Framework Core dan tidak tunduk pada standar kompatibilitas yang sama dengan API publik. Ini dapat diubah atau dihapus tanpa pemberitahuan dalam rilis apa pun. Anda hanya boleh menggunakannya langsung dalam kode Anda dengan sangat hati-hati dan mengetahui bahwa melakukannya dapat mengakibatkan kegagalan aplikasi saat memperbarui ke rilis Entity Framework Core baru.

IDbContextPoolable.ClearLease()

Ini adalah API internal yang mendukung infrastruktur Entity Framework Core dan tidak tunduk pada standar kompatibilitas yang sama dengan API publik. Ini dapat diubah atau dihapus tanpa pemberitahuan dalam rilis apa pun. Anda hanya boleh menggunakannya langsung dalam kode Anda dengan sangat hati-hati dan mengetahui bahwa melakukannya dapat mengakibatkan kegagalan aplikasi saat memperbarui ke rilis Entity Framework Core baru.

IDbContextPoolable.ResetState()

Instans DbContext mewakili sesi dengan database dan dapat digunakan untuk mengkueri dan menyimpan instans entitas Anda. DbContext adalah kombinasi dari pola Unit Kerja dan Repositori.

IDbContextPoolable.Resurrect(DbContextPoolConfigurationSnapshot)

Ini adalah API internal yang mendukung infrastruktur Entity Framework Core dan tidak tunduk pada standar kompatibilitas yang sama dengan API publik. Ini dapat diubah atau dihapus tanpa pemberitahuan dalam rilis apa pun. Anda hanya boleh menggunakannya langsung dalam kode Anda dengan sangat hati-hati dan mengetahui bahwa melakukannya dapat mengakibatkan kegagalan aplikasi saat memperbarui ke rilis Core Kerangka Kerja Entitas baru.

IDbContextPoolable.SetLease(DbContextLease)

Ini adalah API internal yang mendukung infrastruktur Entity Framework Core dan tidak tunduk pada standar kompatibilitas yang sama dengan API publik. Ini dapat diubah atau dihapus tanpa pemberitahuan dalam rilis apa pun. Anda hanya boleh menggunakannya langsung dalam kode Anda dengan sangat hati-hati dan mengetahui bahwa melakukannya dapat mengakibatkan kegagalan aplikasi saat memperbarui ke rilis Core Kerangka Kerja Entitas baru.

IDbContextPoolable.SetLeaseAsync(DbContextLease, CancellationToken)

Ini adalah API internal yang mendukung infrastruktur Entity Framework Core dan tidak tunduk pada standar kompatibilitas yang sama dengan API publik. Ini dapat diubah atau dihapus tanpa pemberitahuan dalam rilis apa pun. Anda hanya boleh menggunakannya langsung dalam kode Anda dengan sangat hati-hati dan mengetahui bahwa melakukannya dapat mengakibatkan kegagalan aplikasi saat memperbarui ke rilis Core Kerangka Kerja Entitas baru.

IDbContextPoolable.SetPool(IDbContextPool)

Ini adalah API internal yang mendukung infrastruktur Entity Framework Core dan tidak tunduk pada standar kompatibilitas yang sama dengan API publik. Ini dapat diubah atau dihapus tanpa pemberitahuan dalam rilis apa pun. Anda hanya boleh menggunakannya langsung dalam kode Anda dengan sangat hati-hati dan mengetahui bahwa melakukannya dapat mengakibatkan kegagalan aplikasi saat memperbarui ke rilis Core Kerangka Kerja Entitas baru.

IDbContextPoolable.SnapshotConfiguration()

Ini adalah API internal yang mendukung infrastruktur Entity Framework Core dan tidak tunduk pada standar kompatibilitas yang sama dengan API publik. Ini dapat diubah atau dihapus tanpa pemberitahuan dalam rilis apa pun. Anda hanya boleh menggunakannya langsung dalam kode Anda dengan sangat hati-hati dan mengetahui bahwa melakukannya dapat mengakibatkan kegagalan aplikasi saat memperbarui ke rilis Core Kerangka Kerja Entitas baru.

IDbQueryCache.GetOrAddQuery(IDbQuerySource, Type)

API ini mendukung infrastruktur Entity Framework Core dan tidak dimaksudkan untuk digunakan langsung dari kode Anda. API ini dapat berubah atau dihapus dalam rilis mendatang.

IDbSetCache.GetOrAddSet(IDbSetSource, String, Type)

Ini adalah API internal yang mendukung infrastruktur Entity Framework Core dan tidak tunduk pada standar kompatibilitas yang sama dengan API publik. Ini dapat diubah atau dihapus tanpa pemberitahuan dalam rilis apa pun. Anda hanya boleh menggunakannya langsung dalam kode Anda dengan sangat hati-hati dan mengetahui bahwa melakukannya dapat mengakibatkan kegagalan aplikasi saat memperbarui ke rilis Core Kerangka Kerja Entitas baru.

IDbSetCache.GetOrAddSet(IDbSetSource, Type)

Ini adalah API internal yang mendukung infrastruktur Entity Framework Core dan tidak tunduk pada standar kompatibilitas yang sama dengan API publik. Ini dapat diubah atau dihapus tanpa pemberitahuan dalam rilis apa pun. Anda hanya boleh menggunakannya langsung dalam kode Anda dengan sangat hati-hati dan mengetahui bahwa melakukannya dapat mengakibatkan kegagalan aplikasi saat memperbarui ke rilis Core Kerangka Kerja Entitas baru.

IDbSetCache.GetSets()

Ini adalah API internal yang mendukung infrastruktur Entity Framework Core dan tidak tunduk pada standar kompatibilitas yang sama dengan API publik. Ini dapat diubah atau dihapus tanpa pemberitahuan dalam rilis apa pun. Anda hanya boleh menggunakannya langsung dalam kode Anda dengan sangat hati-hati dan mengetahui bahwa melakukannya dapat mengakibatkan kegagalan aplikasi saat memperbarui ke rilis Core Kerangka Kerja Entitas baru.

IInfrastructure<IServiceProvider>.Instance

Mendapatkan cakupan IServiceProvider yang digunakan untuk menyelesaikan layanan.

Properti ini ditujukan untuk digunakan oleh metode ekstensi yang perlu memanfaatkan layanan yang tidak secara langsung terekspos di permukaan API publik.

IResettableService.ResetState()

Ini adalah API internal yang mendukung infrastruktur Entity Framework Core dan tidak tunduk pada standar kompatibilitas yang sama dengan API publik. Ini dapat diubah atau dihapus tanpa pemberitahuan dalam rilis apa pun. Anda hanya boleh menggunakannya langsung dalam kode Anda dengan sangat hati-hati dan mengetahui bahwa melakukannya dapat mengakibatkan kegagalan aplikasi saat memperbarui ke rilis Entity Framework Core baru.

IResettableService.ResetStateAsync(CancellationToken)

Ini adalah API internal yang mendukung infrastruktur Entity Framework Core dan tidak tunduk pada standar kompatibilitas yang sama dengan API publik. Ini dapat diubah atau dihapus tanpa pemberitahuan dalam rilis apa pun. Anda hanya boleh menggunakannya langsung dalam kode Anda dengan sangat hati-hati dan mengetahui bahwa melakukannya dapat mengakibatkan kegagalan aplikasi saat memperbarui ke rilis Entity Framework Core baru.

Metode Ekstensi

GetInfrastructure<T>(IInfrastructure<T>)

Mendapatkan nilai dari properti yang sedang disembunyikan menggunakan IInfrastructure<T>.

Metode ini biasanya digunakan oleh penyedia database (dan ekstensi lainnya). Ini umumnya tidak digunakan dalam kode aplikasi.

CreateProxy(DbContext, Type, Object[])

Membuat instans proksi untuk jenis entitas jika pembuatan proksi telah diaktifkan.

CreateProxy<TEntity>(DbContext, Action<TEntity>, Object[])

Membuat instans proksi untuk jenis entitas jika pembuatan proksi telah diaktifkan.

CreateProxy<TEntity>(DbContext, Object[])

Membuat instans proksi untuk jenis entitas jika pembuatan proksi telah diaktifkan.

Berlaku untuk