EntityEntry Klasa

Definicja

Zapewnia dostęp do informacji i operacji śledzenia zmian dla danej jednostki.

Wystąpienia tej klasy są zwracane z metod przy użyciu interfejsu ChangeTracker API i nie są przeznaczone do bezpośredniej konstrukcji w kodzie aplikacji.

[System.Diagnostics.DebuggerDisplay("{_internalEntityEntry,nq}")]
public class EntityEntry : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.ChangeTracking.Internal.InternalEntityEntry>
[System.Diagnostics.DebuggerDisplay("{InternalEntry,nq}")]
public class EntityEntry : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.ChangeTracking.Internal.InternalEntityEntry>
[<System.Diagnostics.DebuggerDisplay("{_internalEntityEntry,nq}")>]
type EntityEntry = class
    interface IInfrastructure<InternalEntityEntry>
[<System.Diagnostics.DebuggerDisplay("{InternalEntry,nq}")>]
type EntityEntry = class
    interface IInfrastructure<InternalEntityEntry>
Public Class EntityEntry
Implements IInfrastructure(Of InternalEntityEntry)
Dziedziczenie
EntityEntry
Pochodne
Atrybuty
Implementuje
IInfrastructure<Microsoft.EntityFrameworkCore.ChangeTracking.Internal.InternalEntityEntry>

Uwagi

Aby uzyskać więcej informacji, zobacz Uzyskiwanie dostępu do śledzonych jednostek w programie EF Core .

Konstruktory

EntityEntry(InternalEntityEntry)

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.

Właściwości

Collections

Zapewnia dostęp do informacji o śledzeniu zmian i ładowania informacji dotyczących wszystkich właściwości nawigacji kolekcji tej jednostki.

Context

Pobiera kontekst śledzący jednostkę.

CurrentValues

Pobiera bieżące wartości właściwości dla tej jednostki.

DebugView

Rozwiń tę właściwość w debugerze, aby uzyskać czytelny dla człowieka widok wpisu.

Ostrzeżenie: nie polegaj na formacie ciągów debugowania. Są one przeznaczone tylko do debugowania i mogą zmieniać się dowolnie między wydaniami.

Entity

Pobiera jednostkę śledzona przez ten wpis.

InternalEntry

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.

IsKeySet

Pobiera wartość wskazującą, czy przypisano wartość klucza tej jednostki.

W przypadku kluczy z właściwościami wygenerowanymi przez magazyn (np. mapowaniem na kolumny Identity) wartość zwracana będzie fałsz, jeśli którakolwiek z właściwości wygenerowanych przez magazyn ma wartość domyślną CLR.

W przypadku kluczy bez żadnych właściwości wygenerowanych przez magazyn wartość zwracana będzie zawsze prawdziwa, ponieważ każda wartość jest uznawana za prawidłową wartość klucza.

Members

Zapewnia dostęp do informacji i operacji śledzenia zmian dla wszystkich właściwości i właściwości nawigacji tej jednostki.

Metadata

Pobiera metadane dotyczące kształtu jednostki, jej relacji z innymi jednostkami i sposobu mapowania jej na bazę danych.

Navigations

Zapewnia dostęp do informacji i operacji śledzenia zmian dla wszystkich właściwości nawigacji tej jednostki.

OriginalValues

Pobiera oryginalne wartości właściwości dla tej jednostki. Oryginalne wartości to wartości właściwości, które były pobierane z bazy danych.

Należy pamiętać, że za każdym razem, gdy rzeczywiste wartości właściwości oryginalnej nie są dostępne (np. jednostka nie została jeszcze utrwalone w bazie danych lub została pobrana w kwerendzie bez śledzenia) spowoduje to ustawienie domyślne dla bieżących wartości właściwości tej jednostki.

Properties

Zapewnia dostęp do informacji i operacji śledzenia zmian dla wszystkich właściwości tej jednostki.

References

Zapewnia dostęp do informacji o śledzeniu zmian i ładowania informacji dla wszystkich właściwości nawigacji odwołania (np. innych niż kolekcja) tej jednostki.

State

Pobiera lub ustawia stan śledzony przez tę jednostkę.

Ta metoda ustawia tylko stan pojedynczej jednostki reprezentowanej przez ten wpis. Nie zmienia stanu innych jednostek osiągalnych z tego.

Podczas ustawiania stanu jednostka będzie zawsze znajdować się w określonym stanie. Jeśli na przykład zmienisz stan na Deleted jednostkę, zostanie oznaczony do usunięcia niezależnie od jego bieżącego stanu. Różni się to od wywoływania Remove(TEntity) lokalizacji, w której jednostka zostanie rozłączona (a nie oznaczona do usunięcia), jeśli jest w Added stanie.

Metody

Collection(String)

Zapewnia dostęp do śledzenia zmian i ładowania informacji dotyczących właściwości nawigacji kolekcji, która kojarzy tę jednostkę z kolekcją innych jednostek.

DetectChanges()

Skanuje to wystąpienie jednostki w celu wykrycia wszelkich zmian wprowadzonych w danych wystąpienia. DetectChanges() jest zwykle wywoływana automatycznie przez kontekst w celu uzyskania aktualnych informacji na temat pojedynczej jednostki przed zwróceniem informacji o śledzeniu zmian. Zazwyczaj trzeba wywołać tę metodę tylko wtedy, gdy wyłączono metodę AutoDetectChangesEnabled.

GetDatabaseValues()

Wysyła zapytanie do bazy danych pod kątem kopii wartości śledzonej jednostki, ponieważ obecnie istnieją w bazie danych. Jeśli jednostka nie zostanie znaleziona w bazie danych, null zostanie zwrócona.

Należy pamiętać, że zmiana wartości w zwracanym słowniku nie spowoduje zaktualizowania wartości w bazie danych.

GetDatabaseValuesAsync(CancellationToken)

Wysyła zapytanie do bazy danych pod kątem kopii wartości śledzonej jednostki, ponieważ obecnie istnieją w bazie danych. Jeśli jednostka nie zostanie znaleziona w bazie danych, zwracana jest wartość null.

Należy pamiętać, że zmiana wartości w zwracanym słowniku nie spowoduje zaktualizowania wartości w bazie danych.

Wiele aktywnych operacji w tym samym wystąpieniu kontekstu nie jest obsługiwanych. Użyj polecenia await , aby upewnić się, że wszystkie operacje asynchroniczne zostały ukończone przed wywołaniem innej metody w tym kontekście.

Member(String)

Zapewnia dostęp do informacji i operacji śledzenia zmian dla danej właściwości lub właściwości nawigacji tej jednostki.

Navigation(String)

Zapewnia dostęp do informacji i operacji śledzenia zmian dla danej właściwości nawigacji tej jednostki.

Property(String)

Zapewnia dostęp do informacji i operacji śledzenia zmian dla danej właściwości tej jednostki.

Reference(String)

Zapewnia dostęp do śledzenia zmian i ładowania informacji dotyczących odwołania (tj. właściwości nawigacji innej niż kolekcja), która kojarzy tę jednostkę z inną jednostką.

Reload()

Ponownie ładuje jednostkę z bazy danych zastępując wszystkie wartości właściwości wartościami z bazy danych.

Jednostka będzie w Unchanged stanie po wywołaniu tej metody, chyba że jednostka nie istnieje w bazie danych, w takim przypadku jednostka będzie mieć Detachedwartość . Na koniec wywołanie funkcji Reload dla Added jednostki, która nie istnieje w bazie danych, jest no-op. Należy jednak pamiętać, że jednostka Dodano mogła jeszcze nie mieć utworzonej stałej wartości klucza.

ReloadAsync(CancellationToken)

Ponownie ładuje jednostkę z bazy danych zastępując wszystkie wartości właściwości wartościami z bazy danych.

Jednostka będzie w Unchanged stanie po wywołaniu tej metody, chyba że jednostka nie istnieje w bazie danych, w takim przypadku jednostka będzie mieć Detachedwartość . Na koniec wywołanie funkcji Reload dla Added jednostki, która nie istnieje w bazie danych, jest no-op. Należy jednak pamiętać, że jednostka Dodano mogła jeszcze nie mieć utworzonej stałej wartości klucza.

Jawne implementacje interfejsu

IInfrastructure<InternalEntityEntry>.Instance

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 on używany w kodzie aplikacji.

IInfrastructure<T> służy do ukrywania właściwości, które nie są przeznaczone do użycia w kodzie aplikacji, ale mogą być używane w metodach rozszerzeń napisanych przez dostawców baz danych itp.

Dotyczy