Если вы используете System.Data.DataTable
в качестве ItemsSource
для DataGrid
, вставить данные Datagrid
в таблицу базы данных SQL относительно просто.Используйте SqlBulkCopy
.
using(var conn = new SqlConnection("YourConnectionString"))
{
var bulkCopy = new SqlBulkCopy(conn)
{
DestinationTableName =
$"[YourSchemaName].[{YourTableName}]"
};
bulkCopy.WriteToServer(((DataView) yourDataGrid.ItemsSource).Table);
}
Есть несколько предостережений, конечно.DataTable
и таблица назначения SQL должны иметь одинаковую структуру (столбцы и т. Д.).
Если вы не используете DataTable
в качестве DataGrid
ItemSource
, то выпридется искать собственное решение.