Udostępnij za pośrednictwem


DbContext Klasa

Definicja

Wystąpienie dbContext reprezentuje sesję z bazą danych i może służyć do wykonywania zapytań i zapisywania wystąpień jednostek. DbContext jest kombinacją wzorców Unit Of Work i Repository.

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)
Dziedziczenie
DbContext
Implementuje
IInfrastructure<IServiceProvider> IDisposable Microsoft.EntityFrameworkCore.Internal.IDbContextDependencies Microsoft.EntityFrameworkCore.Internal.IDbContextPoolable Microsoft.EntityFrameworkCore.Internal.IDbSetCache Microsoft.EntityFrameworkCore.Internal.IDbQueryCache IResettableService IAsyncDisposable

Uwagi

Program Entity Framework Core nie obsługuje wielu równoległych operacji uruchamianych w tym samym wystąpieniu dbContext. Obejmuje to zarówno równoległe wykonywanie zapytań asynchronicznych, jak i wszelkie jawne współbieżne użycie z wielu wątków. Dlatego zawsze czekaj na wywołania asynchroniczne natychmiast lub używaj oddzielnych wystąpień dbContext dla operacji wykonywanych równolegle. Aby uzyskać więcej informacji i przykłady, zobacz Unikanie problemów z wątkami dbContext .

Zazwyczaj tworzy się klasę, która pochodzi z obiektu DbContext i zawiera DbSet<TEntity> właściwości dla każdej jednostki w modelu. DbSet<TEntity> Jeśli właściwości mają publiczny moduł ustawiania, są one automatycznie inicjowane podczas tworzenia wystąpienia kontekstu pochodnego.

Zastąpij metodę OnConfiguring(DbContextOptionsBuilder) , aby skonfigurować bazę danych (i inne opcje) do użycia w kontekście. Alternatywnie, jeśli wolisz wykonać konfigurację zewnętrznie zamiast w tekście w kontekście, możesz użyć (lub DbContextOptionsBuilder) do zewnętrznego utworzenia wystąpienia DbContextOptions<TContext> (lub DbContextOptions) i przekazania go do podstawowego konstruktora DbContext.DbContextOptionsBuilder<TContext>

Model jest wykrywany przez uruchomienie zestawu konwencji dla klas jednostek znajdujących się we DbSet<TEntity> właściwościach w kontekście pochodnym. Aby dodatkowo skonfigurować model, który jest wykrywany zgodnie z konwencją, można zastąpić metodę OnModelCreating(ModelBuilder) .

Aby uzyskać więcej informacji i przykłady, zobacz DbContext lifetime, configuration, and initialization (Okres istnienia, konfiguracja i inicjowanie bazy danych dbContext), Querying data with EF Core (Wykonywanie zapytań o dane za pomocą programu EF Core, zmienianie śledzenia i zapisywanie danych za pomocą platformy EF Core ).

Konstruktory

DbContext()

Inicjuje nowe wystąpienie klasy DbContext. Metoda OnConfiguring(DbContextOptionsBuilder) zostanie wywołana w celu skonfigurowania bazy danych (i innych opcji) do użycia w tym kontekście.

DbContext(DbContextOptions)

Inicjuje DbContext nowe wystąpienie klasy przy użyciu określonych opcji. Metoda OnConfiguring(DbContextOptionsBuilder) będzie nadal wywoływana, aby umożliwić dalszą konfigurację opcji.

Właściwości

ChangeTracker

Zapewnia dostęp do informacji i operacji dla wystąpień jednostek, które ten kontekst śledzi.

ContextId

Unikatowy identyfikator dla wystąpienia kontekstu i dzierżawy puli, jeśli istnieje.

Database

Zapewnia dostęp do informacji i operacji związanych z bazą danych dla tego kontekstu.

Model

Metadane dotyczące kształtu jednostek, relacji między nimi i sposobu mapowania ich na bazę danych. Może nie zawierać wszystkich informacji niezbędnych do zainicjowania bazy danych.

Metody

Add(Object)

Rozpoczyna śledzenie danej jednostki, a wszystkie inne dostępne jednostki, które nie są jeszcze śledzone, w Added stanie tak, że zostaną one wstawione do bazy danych po SaveChanges() wywołaniu.

Add<TEntity>(TEntity)

Rozpoczyna śledzenie danej jednostki, a wszystkie inne dostępne jednostki, które nie są jeszcze śledzone, w Added stanie tak, że zostaną one wstawione do bazy danych po SaveChanges() wywołaniu.

AddAsync(Object, CancellationToken)

Rozpoczyna śledzenie danej jednostki, a wszystkie inne dostępne jednostki, które nie są jeszcze śledzone, w Added stanie tak, że zostaną one wstawione do bazy danych po SaveChanges() wywołaniu.

AddAsync<TEntity>(TEntity, CancellationToken)

Rozpoczyna śledzenie danej jednostki, a wszystkie inne dostępne jednostki, które nie są jeszcze śledzone, w Added stanie tak, że zostaną one wstawione do bazy danych po SaveChanges() wywołaniu.

AddRange(IEnumerable<Object>)

Rozpoczyna śledzenie danych jednostek i innych osiągalnych jednostek, które nie są jeszcze śledzone, w Added stanie, w którym zostaną one wstawione do bazy danych po SaveChanges() wywołaniu.

AddRange(Object[])

Rozpoczyna śledzenie danych jednostek i innych osiągalnych jednostek, które nie są jeszcze śledzone, w Added stanie, w którym zostaną one wstawione do bazy danych po SaveChanges() wywołaniu.

AddRangeAsync(IEnumerable<Object>, CancellationToken)

Rozpoczyna śledzenie danej jednostki, a wszystkie inne dostępne jednostki, które nie są jeszcze śledzone, w Added stanie tak, że zostaną one wstawione do bazy danych po SaveChanges() wywołaniu.

AddRangeAsync(Object[])

Rozpoczyna śledzenie danej jednostki, a wszystkie inne dostępne jednostki, które nie są jeszcze śledzone, w Added stanie tak, że zostaną one wstawione do bazy danych po SaveChanges() wywołaniu.

Attach(Object)

Rozpoczyna śledzenie danej jednostki i wpisów osiągalnych z danej jednostki przy użyciu Unchanged stanu domyślnie, ale zapoznaj się z poniższymi przypadkami, gdy będzie używany inny stan.

Attach<TEntity>(TEntity)

Rozpoczyna śledzenie danej jednostki i wpisów osiągalnych z danej jednostki przy użyciu Unchanged stanu domyślnie, ale zapoznaj się z poniższymi przypadkami, gdy będzie używany inny stan.

AttachRange(IEnumerable<Object>)

Rozpoczyna śledzenie podanych jednostek i wpisów osiągalnych z danej jednostki przy użyciu Unchanged stanu domyślnie, ale zobacz poniżej, jeśli będzie używany inny stan.

AttachRange(Object[])

Rozpoczyna śledzenie podanych jednostek i wpisów osiągalnych z danej jednostki przy użyciu Unchanged stanu domyślnie, ale zobacz poniżej, jeśli będzie używany inny stan.

ConfigureConventions(ModelConfigurationBuilder)

Zastąpi tę metodę, aby ustawić wartości domyślne i skonfigurować konwencje przed ich uruchomieniem. Ta metoda jest wywoływana przed OnModelCreating(ModelBuilder).

Dispose()

Zwalnia przydzielone zasoby dla tego kontekstu.

DisposeAsync()

Zwalnia przydzielone zasoby dla tego kontekstu.

Entry(Object)

Pobiera element EntityEntry dla danej jednostki. Wpis zapewnia dostęp do informacji i operacji śledzenia zmian dla jednostki.

Entry<TEntity>(TEntity)

Pobiera element EntityEntry<TEntity> dla danej jednostki. Wpis zapewnia dostęp do informacji i operacji śledzenia zmian dla jednostki.

Find(Type, Object[])

Znajduje jednostkę z podanymi wartościami klucza podstawowego. Jeśli jednostka z podanymi wartościami klucza podstawowego jest śledzona przez kontekst, jest zwracana natychmiast bez żądania do bazy danych. W przeciwnym razie zapytanie jest wykonywane w bazie danych dla jednostki z podanymi wartościami klucza podstawowego, a ta jednostka, jeśli zostanie znaleziona, zostanie dołączona do kontekstu i zwrócona. Jeśli żadna jednostka nie zostanie znaleziona, zwracana jest wartość null.

Find<TEntity>(Object[])

Znajduje jednostkę z podanymi wartościami klucza podstawowego. Jeśli jednostka z podanymi wartościami klucza podstawowego jest śledzona przez kontekst, jest zwracana natychmiast bez żądania do bazy danych. W przeciwnym razie zapytanie jest wykonywane w bazie danych dla jednostki z podanymi wartościami klucza podstawowego, a ta jednostka, jeśli zostanie znaleziona, zostanie dołączona do kontekstu i zwrócona. Jeśli żadna jednostka nie zostanie znaleziona, zwracana jest wartość null.

FindAsync(Type, Object[], CancellationToken)

Znajduje jednostkę z podanymi wartościami klucza podstawowego. Jeśli jednostka z podanymi wartościami klucza podstawowego jest śledzona przez kontekst, jest zwracana natychmiast bez żądania do bazy danych. W przeciwnym razie zapytanie jest wykonywane w bazie danych dla jednostki z podanymi wartościami klucza podstawowego, a ta jednostka, jeśli zostanie znaleziona, zostanie dołączona do kontekstu i zwrócona. Jeśli żadna jednostka nie zostanie znaleziona, zwracana jest wartość null.

FindAsync(Type, Object[])

Znajduje jednostkę z podanymi wartościami klucza podstawowego. Jeśli jednostka z podanymi wartościami klucza podstawowego jest śledzona przez kontekst, jest zwracana natychmiast bez żądania do bazy danych. W przeciwnym razie zapytanie jest wykonywane w bazie danych dla jednostki z podanymi wartościami klucza podstawowego, a ta jednostka, jeśli zostanie znaleziona, zostanie dołączona do kontekstu i zwrócona. Jeśli żadna jednostka nie zostanie znaleziona, zwracana jest wartość null.

FindAsync<TEntity>(Object[], CancellationToken)

Znajduje jednostkę z podanymi wartościami klucza podstawowego. Jeśli jednostka z podanymi wartościami klucza podstawowego jest śledzona przez kontekst, jest zwracana natychmiast bez żądania do bazy danych. W przeciwnym razie zapytanie jest wykonywane w bazie danych dla jednostki z podanymi wartościami klucza podstawowego, a ta jednostka, jeśli zostanie znaleziona, zostanie dołączona do kontekstu i zwrócona. Jeśli żadna jednostka nie zostanie znaleziona, zwracana jest wartość null.

FindAsync<TEntity>(Object[])

Znajduje jednostkę z podanymi wartościami klucza podstawowego. Jeśli jednostka z podanymi wartościami klucza podstawowego jest śledzona przez kontekst, jest zwracana natychmiast bez żądania do bazy danych. W przeciwnym razie zapytanie jest wykonywane w bazie danych dla jednostki z podanymi wartościami klucza podstawowego, a ta jednostka, jeśli zostanie znaleziona, zostanie dołączona do kontekstu i zwrócona. Jeśli żadna jednostka nie zostanie znaleziona, zwracana jest wartość null.

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

Tworzy zapytanie dla danego wyrażenia zapytania.

OnConfiguring(DbContextOptionsBuilder)

Zastąpij tę metodę, aby skonfigurować bazę danych (i inne opcje) do użycia w tym kontekście. Ta metoda jest wywoływana dla każdego wystąpienia tworzonego kontekstu. Implementacja podstawowa nic nie robi.

OnModelCreating(ModelBuilder)

Zastąp tę metodę, aby dodatkowo skonfigurować model, który został odnaleziony zgodnie z konwencją z typów jednostek uwidocznionych we DbSet<TEntity> właściwościach w kontekście pochodnym. Wynikowy model może być buforowany i ponownie używany dla kolejnych wystąpień kontekstu pochodnego.

Query<TQuery>()
Przestarzałe.

Tworzy obiekt DbSet<TEntity> , który może służyć do wykonywania zapytań dotyczących wystąpień klasy TQuery.

Remove(Object)

Rozpoczyna śledzenie danej jednostki w Deleted stanie, w taki sposób, że zostanie ona usunięta z bazy danych po SaveChanges() wywołaniu.

Remove<TEntity>(TEntity)

Rozpoczyna śledzenie danej jednostki w Deleted stanie, w taki sposób, że zostanie ona usunięta z bazy danych po SaveChanges() wywołaniu.

RemoveRange(IEnumerable<Object>)

Rozpoczyna śledzenie danej jednostki w Deleted stanie, w taki sposób, że zostanie ona usunięta z bazy danych po SaveChanges() wywołaniu.

RemoveRange(Object[])

Rozpoczyna śledzenie danej jednostki w Deleted stanie, w taki sposób, że zostanie ona usunięta z bazy danych po SaveChanges() wywołaniu.

SaveChanges()

Zapisuje wszystkie zmiany wprowadzone w tym kontekście w bazie danych.

SaveChanges(Boolean)

Zapisuje wszystkie zmiany wprowadzone w tym kontekście w bazie danych.

SaveChangesAsync(Boolean, CancellationToken)

Zapisuje wszystkie zmiany wprowadzone w tym kontekście w bazie danych.

SaveChangesAsync(CancellationToken)

Zapisuje wszystkie zmiany wprowadzone w tym kontekście w bazie danych.

Set<TEntity>()

Tworzy obiekt DbSet<TEntity> , który może służyć do wykonywania zapytań i zapisywania wystąpień programu TEntity.

Set<TEntity>(String)

Tworzy dla DbSet<TEntity> typu jednostki typu udostępnionego, który może służyć do wykonywania zapytań i zapisywania wystąpień programu TEntity.

Update(Object)

Rozpoczyna śledzenie danej jednostki i wpisów osiągalnych z danej jednostki przy użyciu stanu domyślnego Modified , ale zapoznaj się z poniższymi przypadkami, gdy będzie używany inny stan.

Update<TEntity>(TEntity)

Rozpoczyna śledzenie danej jednostki i wpisów osiągalnych z danej jednostki przy użyciu stanu domyślnego Modified , ale zapoznaj się z poniższymi przypadkami, gdy będzie używany inny stan.

UpdateRange(IEnumerable<Object>)

Rozpoczyna śledzenie danych jednostek i wpisów osiągalnych z danej jednostki przy użyciu Modified stanu domyślnie, ale zobacz poniżej, gdy będzie używany inny stan.

UpdateRange(Object[])

Rozpoczyna śledzenie danych jednostek i wpisów osiągalnych z danej jednostki przy użyciu Modified stanu domyślnie, ale zobacz poniżej, gdy będzie używany inny stan.

Zdarzenia

SaveChangesFailed

Zdarzenie zostało wyzwolone, jeśli wywołanie metody SaveChanges lub SaveChangesAsync nie powiedzie się z wyjątkiem.

SavedChanges

Zdarzenie zostało wyzwolone na końcu połączenia lub SaveChangesSaveChangesAsync

SavingChanges

Zdarzenie zostało wyzwolone na początku połączenia lub SaveChangesSaveChangesAsync

Jawne implementacje interfejsu

IDbContextDependencies.ChangeDetector

Jest to wewnętrzny interfejs API, który obsługuje infrastrukturę Entity Framework Core i nie podlega tym samym standardom zgodności co publiczne interfejsy API. Można go zmienić lub usunąć bez powiadomienia w jakiejkolwiek wersji. Należy używać go bezpośrednio w kodzie z wyjątkową ostrożnością i wiedzieć, że może to spowodować błędy aplikacji podczas aktualizowania do nowej wersji programu Entity Framework Core.

IDbContextDependencies.EntityFinderFactory

Jest to wewnętrzny interfejs API, który obsługuje infrastrukturę Entity Framework Core i nie podlega tym samym standardom zgodności co publiczne interfejsy API. Można go zmienić lub usunąć bez powiadomienia w jakiejkolwiek wersji. Należy używać go bezpośrednio w kodzie z wyjątkową ostrożnością i wiedzieć, że może to spowodować błędy aplikacji podczas aktualizowania do nowej wersji programu Entity Framework Core.

IDbContextDependencies.EntityFinderSource

Ten interfejs API obsługuje infrastrukturę Platformy Entity Framework Core i nie jest przeznaczony do użycia bezpośrednio z kodu. Ten interfejs API może ulec zmianie lub zostać usunięty w przyszłych wersjach.

IDbContextDependencies.EntityGraphAttacher

Jest to wewnętrzny interfejs API, który obsługuje infrastrukturę Entity Framework Core i nie podlega tym samym standardom zgodności co publiczne interfejsy API. Można go zmienić lub usunąć bez powiadomienia w jakiejkolwiek wersji. Należy używać go bezpośrednio w kodzie z wyjątkową ostrożnością i wiedzieć, że może to spowodować błędy aplikacji podczas aktualizowania do nowej wersji programu Entity Framework Core.

IDbContextDependencies.ExceptionDetector

Jest to wewnętrzny interfejs API, który obsługuje infrastrukturę Entity Framework Core i nie podlega tym samym standardom zgodności co publiczne interfejsy API. Można go zmienić lub usunąć bez powiadomienia w jakiejkolwiek wersji. Należy używać go bezpośrednio w kodzie z wyjątkową ostrożnością i wiedzieć, że może to spowodować błędy aplikacji podczas aktualizowania do nowej wersji programu Entity Framework Core.

IDbContextDependencies.InfrastructureLogger

Jest to wewnętrzny interfejs API, który obsługuje infrastrukturę Entity Framework Core i nie podlega tym samym standardom zgodności co publiczne interfejsy API. Można go zmienić lub usunąć bez powiadomienia w jakiejkolwiek wersji. Należy używać go bezpośrednio w kodzie z wyjątkową ostrożnością i wiedzieć, że może to spowodować błędy aplikacji podczas aktualizowania do nowej wersji programu Entity Framework Core.

IDbContextDependencies.QueryProvider

Jest to wewnętrzny interfejs API, który obsługuje infrastrukturę Entity Framework Core i nie podlega tym samym standardom zgodności co publiczne interfejsy API. Można go zmienić lub usunąć bez powiadomienia w jakiejkolwiek wersji. Należy używać go bezpośrednio w kodzie z wyjątkową ostrożnością i wiedzieć, że może to spowodować błędy aplikacji podczas aktualizowania do nowej wersji programu Entity Framework Core.

IDbContextDependencies.QuerySource

Ten interfejs API obsługuje infrastrukturę Platformy Entity Framework Core i nie jest przeznaczony do użycia bezpośrednio z kodu. Ten interfejs API może ulec zmianie lub zostać usunięty w przyszłych wersjach.

IDbContextDependencies.SetSource

Jest to wewnętrzny interfejs API, który obsługuje infrastrukturę Entity Framework Core i nie podlega tym samym standardom zgodności co publiczne interfejsy API. Można go zmienić lub usunąć bez powiadomienia w jakiejkolwiek wersji. Należy używać go bezpośrednio w kodzie z wyjątkową ostrożnością i wiedzieć, że może to spowodować błędy aplikacji podczas aktualizowania do nowej wersji programu Entity Framework Core.

IDbContextDependencies.StateManager

Jest to wewnętrzny interfejs API, który obsługuje infrastrukturę Entity Framework Core i nie podlega tym samym standardom zgodności co publiczne interfejsy API. Można go zmienić lub usunąć bez powiadomienia w jakiejkolwiek wersji. Należy używać go bezpośrednio w kodzie z wyjątkową ostrożnością i wiedzieć, że może to spowodować błędy aplikacji podczas aktualizowania do nowej wersji programu Entity Framework Core.

IDbContextDependencies.UpdateLogger

Jest to wewnętrzny interfejs API, który obsługuje infrastrukturę Entity Framework Core i nie podlega tym samym standardom zgodności co publiczne interfejsy API. Można go zmienić lub usunąć bez powiadomienia w jakiejkolwiek wersji. Należy używać go bezpośrednio w kodzie z wyjątkową ostrożnością i wiedzieć, że może to spowodować błędy aplikacji podczas aktualizowania do nowej wersji programu Entity Framework Core.

IDbContextPoolable.ClearLease()

Jest to wewnętrzny interfejs API, który obsługuje infrastrukturę Entity Framework Core i nie podlega tym samym standardom zgodności co publiczne interfejsy API. Można go zmienić lub usunąć bez powiadomienia w jakiejkolwiek wersji. Należy używać go bezpośrednio w kodzie z wyjątkową ostrożnością i wiedzieć, że może to spowodować błędy aplikacji podczas aktualizowania do nowej wersji programu Entity Framework Core.

IDbContextPoolable.ResetState()

Wystąpienie dbContext reprezentuje sesję z bazą danych i może służyć do wykonywania zapytań i zapisywania wystąpień jednostek. DbContext jest kombinacją wzorców Unit Of Work i Repository.

IDbContextPoolable.Resurrect(DbContextPoolConfigurationSnapshot)

Jest to wewnętrzny interfejs API, który obsługuje infrastrukturę Entity Framework Core i nie podlega tym samym standardom zgodności co publiczne interfejsy API. Można go zmienić lub usunąć bez powiadomienia w jakiejkolwiek wersji. Należy używać go bezpośrednio bezpośrednio w kodzie z wyjątkową ostrożnością i wiedząc, że może to spowodować błędy aplikacji podczas aktualizowania do nowej wersji programu Entity Framework Core.

IDbContextPoolable.SetLease(DbContextLease)

Jest to wewnętrzny interfejs API, który obsługuje infrastrukturę platformy Entity Framework Core i nie podlega tym samym standardom zgodności co publiczne interfejsy API. Można je zmienić lub usunąć bez powiadomienia w jakiejkolwiek wersji. Należy używać go bezpośrednio bezpośrednio w kodzie z wyjątkową ostrożnością i wiedząc, że może to spowodować błędy aplikacji podczas aktualizowania do nowej wersji programu Entity Framework Core.

IDbContextPoolable.SetLeaseAsync(DbContextLease, CancellationToken)

Jest to wewnętrzny interfejs API, który obsługuje infrastrukturę platformy Entity Framework Core i nie podlega tym samym standardom zgodności co publiczne interfejsy API. Można je zmienić lub usunąć bez powiadomienia w jakiejkolwiek wersji. Należy używać go bezpośrednio bezpośrednio w kodzie z wyjątkową ostrożnością i wiedząc, że może to spowodować błędy aplikacji podczas aktualizowania do nowej wersji programu Entity Framework Core.

IDbContextPoolable.SetPool(IDbContextPool)

Jest to wewnętrzny interfejs API, który obsługuje infrastrukturę platformy Entity Framework Core i nie podlega tym samym standardom zgodności co publiczne interfejsy API. Można je zmienić lub usunąć bez powiadomienia w jakiejkolwiek wersji. Należy używać go bezpośrednio bezpośrednio w kodzie z wyjątkową ostrożnością i wiedząc, że może to spowodować błędy aplikacji podczas aktualizowania do nowej wersji programu Entity Framework Core.

IDbContextPoolable.SnapshotConfiguration()

Jest to wewnętrzny interfejs API, który obsługuje infrastrukturę platformy Entity Framework Core i nie podlega tym samym standardom zgodności co publiczne interfejsy API. Można je zmienić lub usunąć bez powiadomienia w jakiejkolwiek wersji. Należy używać go bezpośrednio bezpośrednio w kodzie z wyjątkową ostrożnością i wiedząc, że może to spowodować błędy aplikacji podczas aktualizowania do nowej wersji programu Entity Framework Core.

IDbQueryCache.GetOrAddQuery(IDbQuerySource, Type)

Ten interfejs API obsługuje infrastrukturę platformy Entity Framework Core i nie jest przeznaczony do użycia bezpośrednio z poziomu kodu. Ten interfejs API może ulec zmianie lub zostać usunięty w przyszłych wersjach.

IDbSetCache.GetOrAddSet(IDbSetSource, String, Type)

Jest to wewnętrzny interfejs API, który obsługuje infrastrukturę platformy Entity Framework Core i nie podlega tym samym standardom zgodności co publiczne interfejsy API. Można je zmienić lub usunąć bez powiadomienia w jakiejkolwiek wersji. Należy używać go bezpośrednio bezpośrednio w kodzie z wyjątkową ostrożnością i wiedząc, że może to spowodować błędy aplikacji podczas aktualizowania do nowej wersji programu Entity Framework Core.

IDbSetCache.GetOrAddSet(IDbSetSource, Type)

Jest to wewnętrzny interfejs API, który obsługuje infrastrukturę platformy Entity Framework Core i nie podlega tym samym standardom zgodności co publiczne interfejsy API. Można je zmienić lub usunąć bez powiadomienia w jakiejkolwiek wersji. Należy używać go bezpośrednio bezpośrednio w kodzie z wyjątkową ostrożnością i wiedząc, że może to spowodować błędy aplikacji podczas aktualizowania do nowej wersji programu Entity Framework Core.

IDbSetCache.GetSets()

Jest to wewnętrzny interfejs API, który obsługuje infrastrukturę platformy Entity Framework Core i nie podlega tym samym standardom zgodności co publiczne interfejsy API. Można je zmienić lub usunąć bez powiadomienia w jakiejkolwiek wersji. Należy używać go bezpośrednio bezpośrednio w kodzie z wyjątkową ostrożnością i wiedząc, że może to spowodować błędy aplikacji podczas aktualizowania do nowej wersji programu Entity Framework Core.

IInfrastructure<IServiceProvider>.Instance

Pobiera zakres IServiceProvider używany do rozwiązywania problemów z usługami.

Ta właściwość jest przeznaczona do użycia przez metody rozszerzeń, które muszą korzystać z usług, które nie są bezpośrednio widoczne na publicznej powierzchni interfejsu API.

IResettableService.ResetState()

Jest to wewnętrzny interfejs API, który obsługuje infrastrukturę Entity Framework Core i nie podlega tym samym standardom zgodności co publiczne interfejsy API. Można go zmienić lub usunąć bez powiadomienia w jakiejkolwiek wersji. Należy używać go bezpośrednio w kodzie z wyjątkową ostrożnością i wiedzieć, że może to spowodować błędy aplikacji podczas aktualizowania do nowej wersji programu Entity Framework Core.

IResettableService.ResetStateAsync(CancellationToken)

Jest to wewnętrzny interfejs API, który obsługuje infrastrukturę Entity Framework Core i nie podlega tym samym standardom zgodności co publiczne interfejsy API. Można go zmienić lub usunąć bez powiadomienia w jakiejkolwiek wersji. Należy używać go bezpośrednio w kodzie z wyjątkową ostrożnością i wiedzieć, że może to spowodować błędy aplikacji podczas aktualizowania do nowej wersji programu Entity Framework Core.

Metody rozszerzania

GetInfrastructure<T>(IInfrastructure<T>)

Pobiera wartość z właściwości ukrytej przy użyciu polecenia IInfrastructure<T>.

Ta metoda jest zwykle używana przez dostawców baz danych (i innych rozszerzeń). Zwykle nie jest używany w kodzie aplikacji.

CreateProxy(DbContext, Type, Object[])

Tworzy wystąpienie serwera proxy dla typu jednostki, jeśli tworzenie serwera proxy zostało włączone.

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

Tworzy wystąpienie serwera proxy dla typu jednostki, jeśli tworzenie serwera proxy zostało włączone.

CreateProxy<TEntity>(DbContext, Object[])

Tworzy wystąpienie serwera proxy dla typu jednostki, jeśli tworzenie serwera proxy zostało włączone.

Dotyczy