MergeOption Enumeração

Definição

Especifica como os objetos que estão a ser carregados no contexto do objeto são fundidos com os objetos já presentes no contexto do objeto.

public enum class MergeOption
public enum MergeOption
type MergeOption = 
Public Enum MergeOption
Herança
MergeOption

Campos

Name Valor Description
AppendOnly 0

Objetos que não existem no contexto do objeto estão ligados ao contexto. Se um objeto já estiver no contexto, os valores atuais e originais das propriedades do objeto na entrada não são sobrescritos pelos valores da fonte de dados. O estado da entrada do objeto e o estado das propriedades do objeto na entrada não mudam. AppendOnly é a opção padrão de fusão.

OverwriteChanges 1

Objetos que não existem no contexto do objeto estão ligados ao contexto. Se um objeto já estiver no contexto, os valores atuais e originais das propriedades do objeto na entrada são sobrescritos pelos valores da fonte de dados. O estado da entrada do objeto é definido para Unchanged, nenhuma propriedade é marcada como modificada.

PreserveChanges 2

Objetos que não existem no contexto do objeto estão ligados ao contexto.

NoTracking 3

Os objetos são mantidos num Detached estado e não são rastreados no ObjectStateManager. No entanto, entidades geradas pelo Entity Framework e entidades POCO com proxies mantêm uma referência ao contexto do objeto para facilitar o carregamento de objetos relacionados.

Observações

O Entity Framework mantém apenas uma única instância de um objeto com uma chave de entidade específica na cache. Os EntityKey objetos são objetos imutáveis que representam a identidade do objeto. As chaves de entidade são usadas para realizar a resolução de identidade no contexto do objeto. Para mais informações, consulte Trabalhar com Chaves de Entidade. Se uma entidade com a mesma identidade já estiver a ser rastreada, os dados provenientes da fonte de dados e os dados já no gestor de estados são fundidos de acordo com o MergeOption da consulta.

Informações adicionais sobre MergeOption.PreserveChanges

Se o estado da entidade for EntityState.Unchanged, os valores atuais e originais na entrada são sobrescritos pelos valores da fonte de dados. O estado da entidade mantém-se EntityState.Unchanged e nenhuma propriedade é marcada como modificada.

Se o estado da entidade for EntityState.Modified, os valores atuais das propriedades modificadas não são sobrescritos pelos valores da fonte de dados. Os valores originais das propriedades não modificadas são sobrescritos pelos valores da fonte de dados.

No .NET Framework 4, o Entity Framework compara os valores atuais das propriedades não modificadas com os valores que foram devolvidos da fonte de dados. Se os valores não forem iguais, a propriedade é marcada como modificada.

Apenas as propriedades modificadas são mantidas na fonte de dados quando chama ObjectContext.SaveChanges.

Aplica-se a