| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > LINQ (Language-Integrated Query) > Обновление данных, измененных в DataGridView |
| Автор: Lamya 31.10.2012, 13:28 | ||
| Добрый день. Необходимо выполнить следующее: загрузить таблицу из БД в DataGridView, поработать с ней (добавление-обновление данных) и записать изменения обратно в БД.
На форме лежит BindingSource, DataSource для которого - объект jpJurPerson (класс таблицы из dbml-файла) . BindingSource, в свою очередь, является DataSource для DataGridView. Проблема в следующем: данные из БД по нажатию Button1 получаются. Их можно редактировать, добавлять и т.д. Но при сохранении (Button2Click) в БД происходит только изменение существующих данных, новые строки не вставляются в целевую таблицу БД. Хотя список list их исправно содержит, т.е. binding List<jpJurPerson> и DataGridView работает. Не подскажете, как решить проблему? Возможно, не описанным способом, а другими средствами LINQ? Спасибо. |
| Автор: jonie 9.7.2013, 22:07 |
| это потому что вы добавляете данные в List<T>, но не привязываете их к linq2sql контексту вариант "в лоб": перед вызовом SubmitChanges() пробегитесь по этому списку и посмотрите на значение первичного ключа ваших сущностей. Если оно равно default(тип_вашего_ключа), тогда вам надо привязать эту сущность к контексту, используя DBHelper.wm.JurPersons.InsertOnSubmit(list[i]); |