EntityKey.IsTemporary Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает значение, определяющее, является ли ключ EntityKey временным.
public:
property bool IsTemporary { bool get(); };
public bool IsTemporary { get; }
member this.IsTemporary : bool
Public ReadOnly Property IsTemporary As Boolean
Значение свойства
Значение true
, если объект EntityKey является временным; в противном случае — false
.
Комментарии
При создании новой сущности Entity Framework определяет временный ключ и задает свойству IsTemporary значение true
. При вызове SaveChanges метода Entity Framework назначает постоянный ключ и задает свойству IsTemporary значение false
.
Примечание
Временные ключи создаются автоматически платформой, пользователь не может создать их напрямую.
Семантика сравнения для временных ключей отличается от семантики для постоянных ключей.
Для временных ключей используется ссылочное равенство. Это значит, что две ссылки, указывающие на один и тот же временный экземпляр EntityKey, равны, но сами экземпляры EntityKey не равны.
Для постоянных ключей равенство определяется на основании значений свойств ключа и набора EntitySet. Это значит, что два отдельных экземпляра EntityKey будут равны, если совпадают их наборы сущностей и равны значения их ключей.
Кроме того, для временных ключей не существуют наборы EntitySet и значения ключа, но они есть у постоянных ключей.
AcceptChanges Когда метод вызывается для сущности ObjectStateEntry и сущность переходит из состояния Unchanged в Added состояние, Entity Framework автоматически вычисляет новый постоянный ключ для сущности и синхронизирует все временные ссылки на ключи.