J'ai une application mobile qui utilise LinqToDatasets pour mettre à jour/insérer dans un fichier SQL Server CE 3.5.Mise à jour lente/insertion dans SQL Server CE à l'aide de LinqToDatasets
Mon code ressemble à ceci:
// 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);
}
}
Ce code est utilisé pour garder la main base de données tenue en synchronisation avec la base de données du serveur. Le problème est que s'il s'agit d'une mise à jour complète (la première fois par exemple) il y a beaucoup de mises à jour (environ 125). Cela rend ce code (et plusieurs boucles comme il prendre très longtemps (j'ai trois de ces boucles qui prennent plus de 30 secondes chacun).
Y at-il un moyen plus rapide ou meilleure façon de faire des mises à jour/inserts comme celui-ci?
(j'ai vu ce Codeplex Project, mais je ne pouvais pas voir comment faire fonctionner avec les mises à jour et inserts).