Convertire il risultato della query di Linq nel dizionario

Voglio aggiungere alcune righe a un database usando Linq a SQL, ma voglio fare un “controllo personalizzato” prima di aggiungere le righe per sapere se devo aggiungere, sostituire o ignorare le righe in entrata. Mi piacerebbe mantenere il trafic tra il client e il server DB il più basso ansible e ridurre al minimo il numero di query.

Per fare questo, voglio recuperare le informazioni minime richieste per la convalida e solo una volta all’inizio del processo.

Stavo pensando di fare qualcosa del genere, ma ovviamente, non funziona. Qualcuno ha un’idea?

Dictionary existingItems = (from ObjType ot in TableObj select (new KeyValuePair(ot.Key, ot.TimeStamp)) ) 

Quello che mi piacerebbe avere alla fine sarebbe un dizionario, senza dover scaricare tutti gli oggetti ObjectType da TableObject.

Ho anche considerato il seguente codice, ma stavo cercando di trovare un modo corretto:

 List keys = (from ObjType ot in TableObj orderby ot.Key select ot.Key).ToList(); List values = (from ObjType ot in TableObj orderby ot.Key select ot.Value).ToList(); Dictionary existingItems = new Dictionary(keys.Count); for (int i = 0; i < keys.Count; i++) { existingItems.Add(keys[i], values[i]); }