CollectionEntry<TEntity,TRelatedEntity> Класс

Определение

Предоставляет доступ к отслеживанию изменений и загрузке сведений для свойства навигации коллекции, которое связывает эту сущность с коллекцией других сущностей.

Экземпляры этого класса возвращаются из методов при использовании ChangeTracker API и не предназначены для непосредственного создания в коде приложения.

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

Параметры типа

TEntity

Тип сущности, к которой принадлежит свойство.

TRelatedEntity

Тип свойства.

Наследование
CollectionEntry<TEntity,TRelatedEntity>

Комментарии

Дополнительные сведения см . в статье о доступе к отслеживаемой сущности в EF Core, изменении внешних ключей и навигации, а также загрузке связанных сущностей .

Конструкторы

CollectionEntry<TEntity,TRelatedEntity>(InternalEntityEntry, INavigation)

Это внутренний API, который поддерживает инфраструктуру Entity Framework Core и не соответствует тем же стандартам совместимости, что и общедоступные API. Его можно изменить или удалить без уведомления в любом выпуске. Его следует использовать только непосредственно в коде с крайней осторожностью и зная, что это может привести к сбоям приложений при обновлении до нового выпуска Entity Framework Core.

CollectionEntry<TEntity,TRelatedEntity>(InternalEntityEntry, String)

Это внутренний API, который поддерживает инфраструктуру Entity Framework Core и не соответствует тем же стандартам совместимости, что и общедоступные API. Его можно изменить или удалить без уведомления в любом выпуске. Его следует использовать только непосредственно в коде с крайней осторожностью и зная, что это может привести к сбоям приложений при обновлении до нового выпуска Entity Framework Core.

Свойства

CurrentValue

Возвращает или задает значение, назначенное данному свойству. Если текущее значение задается с помощью этого свойства, средство отслеживания изменений знает об изменении и DetectChanges() не требуется для контекста для обнаружения изменения.

EntityEntry

Объект EntityEntry<TEntity> , которому принадлежит этот член.

InternalEntry

Это внутренний API, который поддерживает инфраструктуру Entity Framework Core и не соответствует тем же стандартам совместимости, что и общедоступные API. Его можно изменить или удалить без уведомления в любом выпуске. Его следует использовать только непосредственно в коде с крайней осторожностью и зная, что это может привести к сбоям приложений при обновлении до нового выпуска Entity Framework Core.

(Унаследовано от MemberEntry)
IsLoaded

Возвращает или задает значение, указывающее, загружена ли сущность или сущности, на которые ссылается это свойство навигации.

Загрузка сущностей из базы данных или Include<TEntity,TProperty>(IQueryable<TEntity>, Expression<Func<TEntity,TProperty>>)ThenInclude<TEntity,TPreviousProperty,TProperty>(IIncludableQueryable<TEntity,IEnumerable<TPreviousProperty>>, Expression<Func<TPreviousProperty,TProperty>>)Load(), или LoadAsync(CancellationToken) установка этого флага. Последующие вызовы или LoadAsync(CancellationToken) последующие вызовы Load() будут no-op.

Параметр IsLoaded может иметь значение false, даже если загружаются все связанные сущности. Это связано с тем, что в зависимости от того, как загружаются сущности, не всегда можно знать, что все сущности в связанной коллекции загружены. В таких случаях вызов Load() или LoadAsync(CancellationToken) проверка загрузки всех связанных сущностей и присвойте этому флагу значение true.

(Унаследовано от NavigationEntry)
IsModified

Возвращает или задает значение, указывающее, были ли изменены какие-либо из значений свойств внешнего ключа, связанных с этим свойством навигации, и их следует обновить в базе данных при SaveChanges() вызове.

(Унаследовано от CollectionEntry)
Metadata

Возвращает метаданные, описывающие аспекты этого свойства и их сопоставление с базой данных.

(Унаследовано от NavigationEntry)

Методы

EnsureInitialized()

Этот API поддерживает инфраструктуру Entity Framework Core и не предназначен для использования непосредственно из кода. В будущих выпусках этот API может быть изменен или удален.

(Унаследовано от CollectionEntry)
FindEntry(Object)

Сущность EntityEntry<TEntity> , предназначенная для этой навигации.

FindEntry(Object)

Сущность EntityEntry , предназначенная для этой навигации.

(Унаследовано от CollectionEntry)
Finder(Type)

Этот API поддерживает инфраструктуру Entity Framework Core и не предназначен для использования непосредственно из кода. В будущих выпусках этот API может быть изменен или удален.

(Унаследовано от NavigationEntry)
GetInternalTargetEntry(Object)

Это внутренний API, который поддерживает инфраструктуру Entity Framework Core и не соответствует тем же стандартам совместимости, что и общедоступные API. Его можно изменить или удалить без уведомления в любом выпуске. Его следует использовать только непосредственно в коде с крайней осторожностью и зная, что это может привести к сбоям приложений при обновлении до нового выпуска Entity Framework Core.

(Унаследовано от CollectionEntry)
Load()

Загружает сущности, на которые ссылается это свойство навигации, если IsLoaded не задано значение true.

Обратите внимание, что отслеживаемые сущности не перезаписываются новыми данными из базы данных.

(Унаследовано от CollectionEntry)
LoadAsync(CancellationToken)

Загружает сущности, на которые ссылается это свойство навигации, если IsLoaded не задано значение true.

Обратите внимание, что отслеживаемые сущности не перезаписываются новыми данными из базы данных.

Несколько активных операций в одном экземпляре контекста не поддерживаются. Используйте await для обеспечения выполнения любых асинхронных операций перед вызовом другого метода в этом контексте.

(Унаследовано от CollectionEntry)
Query()

Возвращает запрос, который будет использоваться для Load() загрузки сущностей, на которые ссылается это свойство навигации.

Запрос можно создать с помощью LINQ для фильтрации, подсчета и т. д. без фактической загрузки всех сущностей из базы данных.

Явные реализации интерфейса

IInfrastructure<InternalEntityEntry>.Instance

Это внутренний API, который поддерживает инфраструктуру Entity Framework Core и не соответствует тем же стандартам совместимости, что и общедоступные API. Его можно изменить или удалить без уведомления в любом выпуске. Его следует использовать только непосредственно в коде с крайней осторожностью и зная, что это может привести к сбоям приложений при обновлении до нового выпуска Entity Framework Core.

(Унаследовано от MemberEntry)

Методы расширения

GetInfrastructure<T>(IInfrastructure<T>)

Возвращает значение из свойства, скрытого с помощью IInfrastructure<T>.

Этот метод обычно используется поставщиками баз данных (и другими расширениями). Обычно он не используется в коде приложения.

IInfrastructure<T> используется для скрытия свойств, которые не предназначены для использования в коде приложения, но могут использоваться в методах расширения, написанных поставщиками баз данных и т. д.

Применяется к