У меня есть мобильное приложение, которое использует LinqToDatasets для обновления / вставки в файл SQL Server CE 3.5.
Мой код выглядит так:
// All the MyClass Updates
MyTableAdapter myTableAdapter = new MyTableAdapter();
foreach (MyClassToInsert myClass in updates.MyClassChanges)
{
// Update the row if it is already there
int result = myTableAdapter.Update(myClass.FirstColumn,
myClass.SecondColumn,
myClass.FirstColumn);
// If the row was not there then insert it.
if (result == 0)
{
myTableAdapter.Insert(myClass.FirstColumn, myClass.SecondColumn);
}
}
Этот код используется для синхронизации базы данных с базой данных сервера. Проблема в том, что если это полное обновление (например, в первый раз), существует много обновлений (около 125). Это делает этот код (и больше таких циклов, как это занимает очень много времени (у меня есть три таких цикла, которые занимают более 30 секунд каждый).
Есть ли более быстрый или лучший способ делать такие обновления / вставки?
(я видел этот проект Codeplex , но не мог понять, как заставить его работать как с обновлениями, так и со вставками.)