powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Спецам по linq - как тут сделать undo?
5 сообщений из 5, страница 1 из 1
Спецам по linq - как тут сделать undo?
    #35535572
OldWoker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет! Как в LINQ to SQL сделать undo удалённым строкам? Погдробнее - имеем обычную связку
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
       DataContext db;
        private void Form1_Load(object sender, EventArgs e)
        {
            db = new DataContext();
            bindingSource.DataSource = db.Tables;
            DataGridView.DataSource = bindingSource;            
        }
Далее удаляем из грида строчку нажав Del. Как сделать "undo" удалённым строчка - типа RejectChanche ? Если сделать
Код: plaintext
1.
2.
3.
   
         db.Refresh(System.Data.Linq.RefreshMode.OverwriteCurrentValues,db.tables);
         BindingSource.ResetBindings(false);
то откорректированные значения заменяются на исходные, но удалённые строки не появляются!
...
Рейтинг: 0 / 0
Спецам по linq - как тут сделать undo?
    #35537006
зы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
подозреваю что датагрид не дожидаясь наставлений свыше закоммитил изменения в базу, так что уже поздно что-либо отменять
...
Рейтинг: 0 / 0
Спецам по linq - как тут сделать undo?
    #35540672
OldWoker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
зыподозреваю что датагрид не дожидаясь наставлений свыше закоммитил изменения в базу, так что уже поздно что-либо отменять
Ничего подобного! В коллекции Tables сколько было записей до удаления столько и осталось! Если просто закрыть проект и опять войти то всё на месте - удалений ещё не было!
...
Рейтинг: 0 / 0
Спецам по linq - как тут сделать undo?
    #35541302
OldWoker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Немного подробнее. Имеем таблица t_1 у которой четыре строки
при загрузке формы делаем обычное

Код: plaintext
1.
2.
3.
4.
void ReadDoc()
 {
 db = new t_1DataContext();
 t_1BindingSource.DataSource = db.t_1s;
}
На кнопку сажаем вывода информации

Код: plaintext
1.
2.
string s = String.Format("t_1s.Count={0} \n BindingSource.Count ={1}",
                db.t_1s.Count(), t_1BindingSource.Count);
MessageBox.Show(s);

В таблице изначально 4 строчки. Удаляем пару строк, выводим инфу
Код: plaintext
1.
t_1s.Count=  4  
BindingSource.Count =  2 
далее делаем
Код: plaintext
1.
 db.Dispose();
 ReadDoc();
Видим опять четыре строки!
...
Рейтинг: 0 / 0
Спецам по linq - как тут сделать undo?
    #35541415
OldWoker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Интересный вопрос что играет в этом случае роль dataview?
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Спецам по linq - как тут сделать undo?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]