EntityEntry Класс

Определение

Предоставляет доступ к сведениям и операциям отслеживания изменений для данной сущности.

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

[System.Diagnostics.DebuggerDisplay("{_internalEntityEntry,nq}")]
public class EntityEntry : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.ChangeTracking.Internal.InternalEntityEntry>
[System.Diagnostics.DebuggerDisplay("{InternalEntry,nq}")]
public class EntityEntry : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.ChangeTracking.Internal.InternalEntityEntry>
[<System.Diagnostics.DebuggerDisplay("{_internalEntityEntry,nq}")>]
type EntityEntry = class
    interface IInfrastructure<InternalEntityEntry>
[<System.Diagnostics.DebuggerDisplay("{InternalEntry,nq}")>]
type EntityEntry = class
    interface IInfrastructure<InternalEntityEntry>
Public Class EntityEntry
Implements IInfrastructure(Of InternalEntityEntry)
Наследование
EntityEntry
Производный
Атрибуты
Реализации
IInfrastructure<Microsoft.EntityFrameworkCore.ChangeTracking.Internal.InternalEntityEntry>

Комментарии

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

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

EntityEntry(InternalEntityEntry)

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

Свойства

Collections

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

Context

Возвращает контекст, отслеживающий сущность.

CurrentValues

Возвращает текущие значения свойств для этой сущности.

DebugView

Разверните это свойство в отладчике для пользовательского представления записи.

Предупреждение. Не следует полагаться на формат отладочных строк. Они предназначены только для отладки и могут изменяться произвольно между выпусками.

Entity

Возвращает сущность, отслеживаемую этой записью.

InternalEntry

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

IsKeySet

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

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

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

Members

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

Metadata

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

Navigations

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

OriginalValues

Возвращает исходные значения свойств для этой сущности. Исходные значения — это значения свойств, которые были при извлечении сущности из базы данных.

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

Properties

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

References

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

State

Возвращает или задает это состояние, в котором отслеживается данная сущность.

Этот метод задает только состояние отдельной сущности, представленной этой записью. Он не изменяет состояние других сущностей, доступных для этого объекта.

При задании состояния сущность всегда будет в конечном итоге в указанном состоянии. Например, если изменить состояние Deleted на сущность, она будет помечена для удаления независимо от текущего состояния. Это отличается от вызова Remove(TEntity) , когда сущность будет отключена (а не помечена для удаления), если она находится в Added состоянии.

Методы

Collection(String)

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

DetectChanges()

Сканирует этот экземпляр сущности, чтобы обнаружить все изменения, внесенные в данные экземпляра. DetectChanges() обычно вызывается автоматически контекстом для получения актуальных сведений об отдельной сущности перед возвратом сведений об отслеживании изменений. Обычно этот метод необходимо вызывать только в том случае, если этот метод отключен AutoDetectChangesEnabled.

GetDatabaseValues()

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

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

GetDatabaseValuesAsync(CancellationToken)

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

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

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

Member(String)

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

Navigation(String)

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

Property(String)

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

Reference(String)

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

Reload()

Повторно загружает сущность из базы данных, перезаписывая все значения свойств значениями из базы данных.

Сущность будет находиться в Unchanged состоянии после вызова этого метода, если сущность не существует в базе данных, в этом случае сущность будет иметь значение Detached. Наконец, вызов перезагрузки для сущности Added , которая не существует в базе данных, не является операцией. Однако обратите внимание, что добавленная сущность, возможно, еще не создала постоянное значение ключа.

ReloadAsync(CancellationToken)

Повторно загружает сущность из базы данных, перезаписывая все значения свойств значениями из базы данных.

Сущность будет находиться в Unchanged состоянии после вызова этого метода, если сущность не существует в базе данных, в этом случае сущность будет иметь значение Detached. Наконец, вызов перезагрузки для сущности Added , которая не существует в базе данных, не является операцией. Однако обратите внимание, что добавленная сущность, возможно, еще не создала постоянное значение ключа.

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

IInfrastructure<InternalEntityEntry>.Instance

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

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

GetInfrastructure<T>(IInfrastructure<T>)

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

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

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

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