Compartir vía


MergeOption Enumeración

Definición

Especifica cómo se combinan los objetos que se cargan en el contexto del objeto con los objetos que ya están en el contexto del objeto.

public enum class MergeOption
public enum MergeOption
type MergeOption = 
Public Enum MergeOption
Herencia
MergeOption

Campos

Nombre Valor Description
AppendOnly 0

Los objetos que no existen en el contexto del objeto se adjuntan al contexto. Si un objeto ya está en el contexto, los valores actuales y originales de las propiedades del objeto en la entrada no se sobrescriben con los valores del origen de datos. El estado de la entrada y el estado de las propiedades del objeto en la entrada no cambian. AppendOnly es la opción de combinación predeterminada.

OverwriteChanges 1

Los objetos que no existen en el contexto del objeto se adjuntan al contexto. Si un objeto ya está en el contexto, los valores actuales y originales de las propiedades del objeto en la entrada se sobrescriben con valores de origen de datos. El estado de la entrada del objeto se establece Unchangeden , no se marca ninguna propiedad como modificada.

PreserveChanges 2

Los objetos que no existen en el contexto del objeto se adjuntan al contexto.

NoTracking 3

Los objetos se mantienen en un Detached estado y no se realiza un seguimiento en .ObjectStateManager Sin embargo, las entidades generadas por Entity Framework y las entidades POCO con servidores proxy mantienen una referencia al contexto de objeto para facilitar la carga de objetos relacionados.

Comentarios

Entity Framework solo mantiene una sola instancia de un objeto con una clave de entidad específica en la memoria caché. Los EntityKey objetos son objetos inmutables que representan la identidad del objeto. Las claves de entidad se usan para realizar la resolución de identidades en el contexto del objeto. Si ya se está realizando un seguimiento de una entidad con la misma identidad, los datos procedentes del origen de datos y los datos que ya están en el administrador de estado se combinan según la MergeOption de la consulta.

Información adicional sobre MergeOption.PreserveChanges

Si el estado de la entidad es EntityState.Unchanged, los valores actuales y originales de la entrada se sobrescriben con valores de origen de datos. El estado de la entidad permanece EntityState.Unchanged y no se marca ninguna propiedad como modificada.

Si el estado de la entidad es EntityState.Modified, los valores actuales de las propiedades modificadas no se sobrescriben con valores de origen de datos. Los valores originales de las propiedades sin modificar se sobrescriben con los valores del origen de datos.

En .NET Framework 4, Entity Framework compara los valores actuales de propiedades sin modificar con los valores devueltos desde el origen de datos. Si los valores no son los mismos, la propiedad se marca como modificada.

Solo se conservan las propiedades modificadas en el origen de datos cuando se llama a ObjectContext.SaveChanges.

Se aplica a