429 Stimmen

Linq-Abfrageergebnis in ein Wörterbuch umwandeln

Ich möchte mit Linq to SQL einige Zeilen zu einer Datenbank hinzufügen, aber ich möchte eine "benutzerdefinierte Prüfung" durchführen, bevor ich die Zeilen hinzufüge, um zu wissen, ob ich die eingehenden Zeilen hinzufügen, ersetzen oder ignorieren muss. Ich möchte den Datenverkehr zwischen dem Client und dem DB-Server so gering wie möglich halten und die Anzahl der Abfragen minimieren.

Zu diesem Zweck möchte ich so wenig Informationen wie möglich für die Validierung abrufen, und zwar nur einmal zu Beginn des Prozesses.

Ich habe mir überlegt, so etwas zu machen, aber offensichtlich funktioniert es nicht. Hat jemand eine Idee?

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

Was ich am Ende gerne hätte, wäre ein Dictionary, ohne die ganzen ObjectType-Objekte von TableObject herunterladen zu müssen.

Ich habe auch den folgenden Code in Betracht gezogen, aber ich habe versucht, einen geeigneten Weg zu finden:

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]);
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X