CollectionEntry<TEntity,TRelatedEntity> Klasa

Definicja

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.

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 CollectionEntry<TEntity,TProperty> : Microsoft.EntityFrameworkCore.ChangeTracking.CollectionEntry where TEntity : class where TProperty : class
public class CollectionEntry<TEntity,TRelatedEntity> : Microsoft.EntityFrameworkCore.ChangeTracking.CollectionEntry where TEntity : class where TRelatedEntity : class
type CollectionEntry<'Entity, 'Property (requires 'Entity : null and 'Property : null)> = class
    inherit CollectionEntry
type CollectionEntry<'Entity, 'RelatedEntity (requires 'Entity : null and 'RelatedEntity : null)> = class
    inherit CollectionEntry
Public Class CollectionEntry(Of TEntity, TProperty)
Inherits CollectionEntry
Public Class CollectionEntry(Of TEntity, TRelatedEntity)
Inherits CollectionEntry

Parametry typu

TEntity

Typ jednostki, do którego należy właściwość.

TRelatedEntity

Typ właściwości.

Dziedziczenie
CollectionEntry<TEntity,TRelatedEntity>

Uwagi

Aby uzyskać więcej informacji, zobacz Uzyskiwanie dostępu do śledzonych jednostek w programie EF Core, Zmienianie kluczy obcych i nawigacji oraz Ładowanie powiązanych jednostek .

Konstruktory

CollectionEntry<TEntity,TRelatedEntity>(InternalEntityEntry, INavigation)

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.

CollectionEntry<TEntity,TRelatedEntity>(InternalEntityEntry, String)

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

CurrentValue

Pobiera lub ustawia wartość aktualnie przypisaną do tej właściwości. Jeśli bieżąca wartość jest ustawiona przy użyciu tej właściwości, monitor zmian jest świadomy zmiany i DetectChanges() nie jest wymagany, aby kontekst wykrył zmianę.

EntityEntry

Element EntityEntry<TEntity> , do którego należy ten element członkowski.

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 MemberEntry)
IsLoaded

Pobiera lub ustawia wartość wskazującą, czy jednostka lub jednostki przywoływane przez tę właściwość nawigacji są znane do załadowania.

Ładowanie jednostek z bazy danych przy użyciu elementu Include<TEntity,TProperty>(IQueryable<TEntity>, Expression<Func<TEntity,TProperty>>) lub ThenInclude<TEntity,TPreviousProperty,TProperty>(IIncludableQueryable<TEntity,IEnumerable<TPreviousProperty>>, Expression<Func<TPreviousProperty,TProperty>>)Load(), lub LoadAsync(CancellationToken) spowoduje ustawienie tej flagi. Kolejne wywołania do Load() lub LoadAsync(CancellationToken) będą wówczas no-op.

Istnieje możliwość, że element IsLoaded ma wartość false, nawet jeśli wszystkie powiązane jednostki są ładowane. Wynika to z tego, że w zależności od sposobu ładowania jednostek nie zawsze można wiedzieć, czy wszystkie jednostki w powiązanej kolekcji zostały załadowane. W takich przypadkach wywołanie Load() metody lub LoadAsync(CancellationToken) zapewni załadowanie wszystkich powiązanych jednostek i ustawi tę flagę na true.

(Odziedziczone po NavigationEntry)
IsModified

Pobiera lub ustawia wartość wskazującą, czy którekolwiek z wartości właściwości klucza obcego skojarzone z tą właściwością nawigacji zostały zmodyfikowane i należy je zaktualizować w bazie danych po SaveChanges() wywołaniu.

(Odziedziczone po CollectionEntry)
Metadata

Pobiera metadane opisujące aspekty tej właściwości i sposób mapowania jej na bazę danych.

(Odziedziczone po NavigationEntry)

Metody

EnsureInitialized()

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.

(Odziedziczone po CollectionEntry)
FindEntry(Object)

Jednostka EntityEntry<TEntity> , która jest przeznaczona dla tej nawigacji.

FindEntry(Object)

Jednostka EntityEntry , która jest przeznaczona dla tej nawigacji.

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

(Odziedziczone po NavigationEntry)
GetInternalTargetEntry(Object)

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 CollectionEntry)
Load()

Ładuje jednostki, do których odwołuje się ta właściwość nawigacji, chyba że IsLoaded jest już ustawiona wartość true.

Należy pamiętać, że jednostki, które są już śledzone, nie są zastępowane nowymi danymi z bazy danych.

(Odziedziczone po CollectionEntry)
LoadAsync(CancellationToken)

Ładuje jednostki, do których odwołuje się ta właściwość nawigacji, chyba że IsLoaded jest już ustawiona na wartość true.

Należy pamiętać, że jednostki, które są już śledzone, nie są zastępowane nowymi danymi z bazy 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 CollectionEntry)
Query()

Zwraca zapytanie, które będzie używane przez Load() program do ładowania jednostek, do których odwołuje się ta właściwość nawigacji.

Zapytanie może być komponowane przy użyciu LINQ do wykonywania filtrowania, zliczania itp. bez faktycznego ładowania wszystkich jednostek z bazy danych.

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 MemberEntry)

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