我有一个使用 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 Project,但我看不出如何使它与更新和插入一起工作。)