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

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

Для ключей с созданными хранилищем свойствами (например, сопоставление со столбцами идентификаторов) возвращаемое значение будет равно 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 сущности, которая не существует в базе данных, — это No-Op. Обратите внимание, однако, что в добавленной сущности еще не создано ее постоянное значение ключа.

ReloadAsync(CancellationToken)

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

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

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

IInfrastructure<InternalEntityEntry>.Instance

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

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

GetInfrastructure<T>(IInfrastructure<T>)

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

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

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

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