EntityKey.IsTemporary Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene un valor que indica si la EntityKey es de solo lectura.
public:
property bool IsTemporary { bool get(); };
public bool IsTemporary { get; }
member this.IsTemporary : bool
Public ReadOnly Property IsTemporary As Boolean
Valor de propiedad
Es true
si EntityKey es temporal; en caso contrario, es false
.
Comentarios
Cuando se crea una nueva entidad, Entity Framework define la clave temporal y establece la IsTemporary propiedad true
en . Cuando se llama al SaveChanges método , Entity Framework asigna una clave permanente y establece la IsTemporary propiedad false
en .
Nota
El marco de trabajo es el que construye las claves temporales de manera automática; los usuarios no pueden construirlas directamente.
Las claves temporales tienen una semántica de comparación distinta de la de las claves permanentes:
Las claves temporales usan la igualdad de las referencias. Es decir, dos referencias a la misma instancia temporal de EntityKey son iguales, pero ninguna otra instancia de EntityKey lo es.
Las claves permanentes determinan la igualdad en función de los valores de las propiedades de clave contenidas y del EntitySet. Es decir, puede tener dos instancias de EntityKey independientes que serán iguales si sus conjuntos de entidades son los mismos y también lo son sus valores de clave.
Además, las claves temporales no tienen ningún EntitySet ni valores de clave, pero las claves permanentes sí.
Cuando se llama al AcceptChanges método en una entidad ObjectStateEntry y la entidad pasa del Added estado al Unchanged estado, Entity Framework calcula automáticamente una nueva clave permanente para la entidad y sincroniza todas las referencias de clave temporales.