Если вы ищете что-то настолько простое, что все команды добавления / редактирования / удаления сгенерированы / выполнены для вас, то я думаю, что вам не повезло, потому что, насколько я знаю, вы должны кодировать все, что ваш самостоятельно. Если, возможно, вы не используете ADO.NET и DataSets, поскольку в Visual Studio есть мастера, которые будут генерировать операторы update / insert / delete / select для наборов данных ...
Я сам использую LINQ to SQL для всего, что связано с SQL, включая отображение данных в DataGrid. Это довольно просто, хотя я обнаружил, что DataGrid (v1, включенный в .NET Framework 4) - полусгоревший кусок cr * p, пронизанный ошибками и причудами. Но в целом шаги, необходимые для редактирования некоторых данных таблицы SQL, будут следующими:
1) Создайте файл «LINQ to SQL Classes» с вашей схемой SQL;
2) Загрузить данные в сетку данных, например. - this.DataGrid1.ItemsSource = new BindingList ((из c в Customer выбирают c) .ToList ());
3) Для привязок в столбцах DataGrid установите для параметра NotifyOnSourceUpdated значение true, а затем обработайте событие DataUrid SourceUpdated. В обработчике событий вы можете вставить обновленный элемент (доступный через аргументы обработчика событий -> BindingOperations.GetBindingExpression (e.TargetObject, e.Property) .DataItem) в предопределенный HashSet (хэш-наборы содержат только уникальные значения, поэтому, если несколько ячеек обновляются в той же строке, в вашем хэш-сетте будут по-прежнему только уникальные элементы).
4) В обработчике событий нажатия кнопки «Сохранить» вы можете перебирать HashSet и отправлять измененные данные обратно в базу данных SQL, снова через LINQ. Если столбец первичного ключа имеет тип int, вы можете проверить наличие новых строк с помощью item.Id == 0 (элемент является перечисляемым объектом из хэш-набора), а затем вставить элемент в таблицу. В противном случае, если Id! = 0, выберите объект из базы данных с указанным Id и обновите его свойства значениями перечисляемого элемента.