ReferenceEntry<TEntity,TProperty> Класс

Определение

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

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

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

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

TEntity

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

TProperty

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

Наследование
ReferenceEntry<TEntity,TProperty>

Комментарии

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

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

ReferenceEntry<TEntity,TProperty>(InternalEntityEntry, INavigation)

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

ReferenceEntry<TEntity,TProperty>(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() не будут выполняться.

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

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

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

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

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

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

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

TargetEntry

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

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

Методы

Finder(Type)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

IInfrastructure<InternalEntityEntry>.Instance

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

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

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

GetInfrastructure<T>(IInfrastructure<T>)

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

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

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

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