Вы находитесь на странице: 1из 2

Fusionar Objetos Merge

El mtodo Merge se utiliza para combinar dos objetos DataTable que tienen
esquemas muy similares. Las combinaciones se suelen utilizar en aplicaciones
cliente para incorporar los ltimos cambios de un origen de datos en un
objeto DataTable existente. Esto permite a la aplicacin cliente tener un
objeto DataTable actualizado con los datos ms recientes del origen de datos.
La operacin de combinacin slo tiene en cuenta la tabla original y la tabla que se
va a combinar. Las tablas secundarias no se incluyen, ni se ven afectadas. Si una
tabla tiene una o varias tablas secundarias, definidas como parte de una relacin,
cada tabla secundaria se debe combinar individualmente.
Se suele llamar al mtodo Merge al final de una serie de procedimientos que
incluyen la validacin de cambios, la conciliacin de errores, la actualizacin del
origen de datos con los cambios y, por ltimo, la actualizacin del
objetoDataTable existente.
Al realizar una combinacin, los cambios realizados a los datos existentes antes de
la combinacin se conservan de manera predeterminada durante la operacin de
combinacin. Los desarrolladores pueden modificar este comportamiento llamando
a una de las otras dos sobrecargas de este mtodo y especificando un valor false
para el parmetro preserveChanges.
En una aplicacin cliente, lo normal es disponer de un nico botn en el que el
usuario puede hacer clic para recopilar datos modificados y validarlos antes de
volver a enviarlos a un componente de nivel medio. En este escenario, primero se
invoca
al
mtodo GetChanges. Ese
mtodo
devuelve
un
segundo DataTable optimizado para la validacin y la combinacin. Este segundo
objeto DataTable slo contiene los objetos DataRow que se han cambiado, lo que da
como resultado un subconjunto del objeto DataTable original. Este subconjunto
normalmente es ms pequeo y, por tanto, se puede volver a pasar de forma ms
eficaz a un componente de nivel medio. A continuacin, el componente de nivel
medio actualiza el origen de datos original con los cambios mediante
procedimientos almacenados. Posteriormente, el nivel medio puede volver a enviar
un nuevo DataTable que incluya datos originales y los datos ms recientes del
origen de datos (ejecutando de nuevo la consulta original), o bien puede volver a
enviar el subconjunto con todos los cambios que se le hayan realizado desde el
origen de datos. Por ejemplo, si el origen de datos crea automticamente valores de
clave principal nicos, dichos valores se pueden volver a propagar a la aplicacin
cliente. En ambos casos, el DataTable devuelto se puede volver a combinar con
el DataTable original de la aplicacin cliente mediante el mtodo Merge.
Al combinar un nuevo objeto DataTable de origen en el destino, las filas de origen
en las que el valor deDataRowState sea Unchanged, Modified o Deleted se
hacen coincidir con las filas de destino que tengan los mismos valores de clave
principal. Las filas de origen en las que el valor de DataRowState sea Added se
hacen coincidir con las nuevas filas de destino que tengan los mismos valores de
clave principal que las nuevas filas de origen.

Вам также может понравиться