Как обновлять БД при изменении DataGrid (WPF) используя SqlConnection
Имеется программа на C# WPF и БД на 3 связанных таблицы в MS SQL Server. Для привязки данных используется класс SqlConnection и т.д. (ниже будут код и скриншоты). Вывод данных работает без проблем:
public partial class MainWindow : Window
{
private readonly SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["productsdb"].ConnectionString);
private DataTable dt;
public MainWindow()
{
InitializeComponent();
DbConnection("products");
}
private void DbConnection(string table)
{
try
{
con.Open();
SqlCommand cmd = new SqlCommand($"SELECT * FROM {table} ORDER BY id", con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
dt = new DataTable(table);
da.Fill(dt);
prodGrid.ItemsSource = dt.DefaultView;
// tableName.Content = table[0].ToString().ToUpper() + table.Substring(1);
}
catch (Exception ex)
{
MessageBox.Show("Исключение: ", ex.Message);
}
finally
{
con.Close();
}
}
Результат работы метода для всех таблиц:

Требуемая задача заключается в корректном добавлении, редактировании и удалении строк в таблице непосредственно через DataGrid, но я никак не могу найти рабочее решение. Единственное, что есть, это вот такой кусок кода:
con.Open();
string table = tableName.Content.ToString().ToLower();
SqlCommand cmd = new SqlCommand($"SELECT * FROM {table} ORDER BY id", con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Update(dt);
prodGrid.ItemsSource = dt.DefaultView;
При попытке добавить значение в колонку и сохранить изменение, выскакивает исключение: "Для элемента Update требуется действительный InsertCommand(UpdateCommand, DeleteCommand) при передаче коллекции DataRow с новыми строками."

