LinqToDatasetsを使用してSQLServerCE3.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秒以上かかるループが3つあります)。
このような更新/挿入を行うためのより高速またはより良い方法はありますか?
(私はこのCodeplexプロジェクトを見ましたが、更新と挿入の両方でそれを機能させる方法を見ることができませんでした。)