Je tiens à ajouter quelques lignes à une base de données en utilisant Linq to SQL, mais je veux faire un "custom vérifier" avant d'ajouter les lignes pour savoir si je dois ajouter, de remplacer ou d'ignorer l'incomming lignes. J'aimerais garder le trafic entre le client et le serveur de base de données aussi bas que possible et de minimiser le nombre de requêtes.
Pour ce faire, je veux extraire des informations aussi peu que nécessaire pour la validation, et une seule fois au début du processus.
Je pensais faire quelque chose comme ça, mais évidemment, ça ne fonctionne pas. Quelqu'un a une idée?
Dictionary<int, DateTime> existingItems =
(from ObjType ot in TableObj
select (new KeyValuePair<int, DateTime>(ot.Key, ot.TimeStamp))
)
Ce que j'aimerais avoir à la fin serait un Dictionnaire, sans avoir à télécharger l'ensemble de la ObjectType objets de TableObject.
J'ai aussi appris sur le code suivant, mais j'ai essayé de trouver une manière appropriée :
List<int> keys = (from ObjType ot in TableObj orderby ot.Key select ot.Key).ToList<int>();
List<DateTime> values = (from ObjType ot in TableObj orderby ot.Key select ot.Value).ToList<int>();
Dictionary<int, DateTime> existingItems = new Dictionary<int, DateTime>(keys.Count);
for (int i = 0; i < keys.Count; i++)
{
existingItems.Add(keys[i], values[i]);
}