Compartir a través de


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 se encuentran en dicho contexto.

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

Campos

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 actual y original de las propiedades del objeto de la entrada no se sobrescriben con valores del origen de datos. El estado de la entrada del objeto y estado de las propiedades del objeto en la entrada no cambia. AppendOnly es la opción de combinación predeterminada.

NoTracking 3

Los objetos se mantienen en un estado Detached y no se realiza ningún seguimiento de ellos 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.

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 actual y original de las propiedades del objeto de la entrada se sobrescriben con valores del origen de datos. El estado de la entrada del objeto se establece en Unchanged y ninguna propiedad se marca como modificada.

PreserveChanges 2

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

Comentarios

Entity Framework solo mantiene una única 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 utilizan para llevar a cabo la resolución de identidad en el contexto del objeto. Para obtener más información, consulte Trabajar con claves de entidad. 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 estados 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 actual y original de la entrada se sobrescriben con valores del origen de datos. El estado de la entidad sigue siendo EntityState.Unchanged y ninguna propiedad se marca como modificada.

Si el estado de la entidad es EntityState.Modified, los valores actuales de las propiedades modificadas no se sobrescriben con valores del origen de datos. Los valores originales de las propiedades no modificadas 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 iguales, la propiedad se marca como modificada.

Solo las propiedades modificadas se conservan en el origen de datos al llamar a ObjectContext.SaveChanges.

Se aplica a