есть некоторые проблемы с наборами данных в c#, которые представляют структуру и данные БД в sdf-файле. Я делаю автоматический тест с БД, поэтому я должен добавить несколько строк в таблицу, выполнить тест и удалить добавленные строки из таблицы.
Схема таблицы:
Num - ID, autoincrementing, primary key
Name - string
Photo - Image (binary)
Мой код:
adapter.Fill(set);
row1 = datatable.Rows.Add(null, "Name1", File.ReadAllBytes(@"Images\photo1.jpg"));
row2 = datatable.Rows.Add(null, "Name2", File.ReadAllBytes(@"Images\photo2.jpg"));
adapter.Update(set);
... perfoming test...
adapter.Fill(set);
row1.Delete();
row2.Delete();
adapter.Update(set);
Но добавленные строки все еще находятся в базе. я пытался использовать
datatable.Rows.Remove(row1);
datatable.Rows.Remove(row2);
но это вызывает исключение «нет такой строки» из-за неправильных значений «Число» в строке 1 и строке 2, которые отличаются от фактических автоматически увеличивающихся значений в БД.
- Как я могу получить истинные значения Num при добавлении строки?
- Есть ли более разумное решение проблемы «добавить строки» -> «выполнить что-то» -> «удалить добавленные строки»?
Заранее спасибо.