Actualizar la tabla del servidor SQL usando Datatbale

c# datatable sqlbulkcopy

Pregunta

Tengo en la tabla de memoria (DataTable), quiero actualizar la tabla de SQL con la ayuda del DataTable de una sola vez (actualización masiva). Sé cómo insertar datos de forma masiva desde DataTable a la tabla SQL. ¿Hay alguna forma de actualización masiva?

Respuesta aceptada

EDITADO: leer mal la pregunta original. Aquí está la "actualización masiva":

UPDATE <table> SET tbl.value = dt.value
    FROM @Datatable dt
    INNER JOIN <table> tbl ON tbl.<id_column> = dt.<id_column>

Respuesta popular

Puede usar uno de los métodos UpdateDataSet () del bloque de datos de la biblioteca de MS Enterprise.

Estos leerán el estado de las filas (agregar, actualizar, eliminar) de cada fila y ejecutarán el comando nombrado en el método UpdateDataSet (). Con un servidor de base de datos razonable, esto puede manejar unos pocos miles de registros en unos pocos segundos.

El único inconveniente que encontré con esto es que no puede devolver los valores de IDENTIDAD recién insertados, pero es bastante fácil seleccionarlos de la base de datos una vez que se haya completado la inserción y volver a correlacionarlos con los datos.



Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow