NavigationEntry Класс

Определение

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

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

public abstract class NavigationEntry : Microsoft.EntityFrameworkCore.ChangeTracking.MemberEntry
type NavigationEntry = class
    inherit MemberEntry
Public MustInherit Class NavigationEntry
Inherits MemberEntry
Наследование
NavigationEntry
Производный

Комментарии

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

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

NavigationEntry(InternalEntityEntry, INavigation)

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

NavigationEntry(InternalEntityEntry, INavigationBase)

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

NavigationEntry(InternalEntityEntry, String, Boolean)

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

Свойства

CurrentValue

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

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

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

(Унаследовано от MemberEntry)
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.

IsModified

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

IsModified

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

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

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

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

Методы

Finder(Type)

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

Load()

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

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

LoadAsync(CancellationToken)

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

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

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

Query()

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

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

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

IInfrastructure<InternalEntityEntry>.Instance

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

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

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

GetInfrastructure<T>(IInfrastructure<T>)

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

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

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

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