EntityKey.IsTemporary Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém um valor que indica se o EntityKey é temporário.
public:
property bool IsTemporary { bool get(); };
public bool IsTemporary { get; }
member this.IsTemporary : bool
Public ReadOnly Property IsTemporary As Boolean
Valor da propriedade
true
se o EntityKey for temporário; caso contrário, false
.
Comentários
Quando uma nova entidade é criada, o Entity Framework define a chave temporária e define a IsTemporary propriedade true
como . Quando você chama o SaveChanges método , o Entity Framework atribui uma chave permanente e define a IsTemporary propriedade como false
.
Observação
As chaves temporárias são construídas automaticamente pela estrutura; eles não podem ser construídos diretamente por um usuário.
As chaves temporárias têm semântica de comparação diferente das chaves permanentes:
As chaves temporárias usam igualdade de referência. Ou seja, duas referências à mesma instância temporária EntityKey são iguais, mas nenhuma outra EntityKey instância é igual.
As chaves permanentes determinam a igualdade com base nos valores das propriedades de chave contida e do EntitySet. Ou seja, você pode ter duas instâncias separadas EntityKey iguais se seus conjuntos de entidades forem iguais e seus valores de chave forem iguais.
Além disso, as chaves temporárias não têm valores EntitySet de chave ou , mas as chaves permanentes têm.
Quando o AcceptChanges método é chamado em uma entidade ObjectStateEntry e a entidade faz a transição do estado para Unchanged o Added estado, o Entity Framework calcula automaticamente uma nova chave permanente para a entidade e sincroniza todas as referências de chave temporárias.