EntityEntry<TEntity> Klasa

Definicja

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

Wystąpienia tej klasy są zwracane z metod podczas korzystania z interfejsu ChangeTracker API i nie są przeznaczone do bezpośredniego konstruowania w kodzie aplikacji.

public class EntityEntry<TEntity> : Microsoft.EntityFrameworkCore.ChangeTracking.EntityEntry where TEntity : class
type EntityEntry<'Entity (requires 'Entity : null)> = class
    inherit EntityEntry
Public Class EntityEntry(Of TEntity)
Inherits EntityEntry

Parametry typu

TEntity

Typ jednostki śledzonej przez ten wpis.

Dziedziczenie
EntityEntry<TEntity>

Uwagi

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

Konstruktory

EntityEntry<TEntity>(InternalEntityEntry)

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.

Właściwości

Collections

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

(Odziedziczone po EntityEntry)
Context

Pobiera kontekst śledzący jednostkę.

(Odziedziczone po EntityEntry)
CurrentValues

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

(Odziedziczone po EntityEntry)
DebugView

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

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

(Odziedziczone po EntityEntry)
Entity

Pobiera jednostkę śledzonych przez ten wpis.

InternalEntry

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.

(Odziedziczone po EntityEntry)
IsKeySet

Pobiera wartość wskazującą, czy wartości klucza tej jednostki zostały przypisane do wartości.

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 generowanych przez magazyn zwracana wartość będzie zawsze prawdziwa, ponieważ każda wartość jest uznawana za prawidłową wartość klucza.

(Odziedziczone po EntityEntry)
Members

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

(Odziedziczone po EntityEntry)
Metadata

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

(Odziedziczone po EntityEntry)
Navigations

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

(Odziedziczone po EntityEntry)
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 podczas pobierania jednostki z bazy danych.

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

(Odziedziczone po EntityEntry)
Properties

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

(Odziedziczone po EntityEntry)
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.

(Odziedziczone po EntityEntry)
State

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

Ta metoda ustawia tylko stan pojedynczej jednostki reprezentowanej przez ten wpis. Nie zmienia ona 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 jednostki na Deleted jednostkę, zostanie oznaczona do usunięcia niezależnie od bieżącego stanu. Różni się to od wywoływania Remove(TEntity) , w którym jednostka zostanie odłączona (a nie oznaczona do usunięcia), jeśli znajduje się w Added stanie .

(Odziedziczone po EntityEntry)

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.

(Odziedziczone po EntityEntry)
Collection<TProperty>(Expression<Func<TEntity,IEnumerable<TProperty>>>)

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.

Collection<TProperty>(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() Element jest zwykle wywoływany 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 AutoDetectChangesEnabledfunkcję .

(Odziedziczone po EntityEntry)
GetDatabaseValues()

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

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

(Odziedziczone po EntityEntry)
GetDatabaseValuesAsync(CancellationToken)

Wysyła zapytanie do bazy danych o kopie 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 na 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.

(Odziedziczone po EntityEntry)
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.

(Odziedziczone po EntityEntry)
Navigation(String)

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

(Odziedziczone po EntityEntry)
Property(String)

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

(Odziedziczone po EntityEntry)
Property<TProperty>(Expression<Func<TEntity,TProperty>>)

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

Property<TProperty>(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 dla właściwości nawigacji referencyjnej (tj. innej niż kolekcja), która kojarzy tę jednostkę z inną jednostką.

(Odziedziczone po EntityEntry)
Reference<TProperty>(Expression<Func<TEntity,TProperty>>)

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

Reference<TProperty>(String)

Zapewnia dostęp do śledzenia zmian i ładowania informacji dla właściwości nawigacji referencyjnej (tj. 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 Dodana mogła jeszcze nie mieć utworzonej trwałej wartości klucza.

(Odziedziczone po EntityEntry)
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 Dodana mogła jeszcze nie mieć utworzonej trwałej wartości klucza.

(Odziedziczone po EntityEntry)

Jawne implementacje interfejsu

IInfrastructure<InternalEntityEntry>.Instance

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.

(Odziedziczone po EntityEntry)

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.

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