[C#] लिंक क्वेरी परिणाम को शब्दकोश में कनवर्ट करें



Answers

अपना उदाहरण देखकर, मुझे लगता है कि यह वही है जो आप चाहते हैं:

var dict = TableObj.ToDictionary(t => t.Key, t=> t.TimeStamp);
Question

मैं लिंक से एसक्यूएल का उपयोग कर डेटाबेस में कुछ पंक्तियां जोड़ना चाहता हूं, लेकिन मैं पंक्तियों को जोड़ने से पहले "कस्टम चेक" बनाना चाहता हूं, यह जानने के लिए कि क्या मुझे इनकमिंग पंक्तियों को जोड़ना, प्रतिस्थापित करना या अनदेखा करना है। मैं क्लाइंट और डीबी सर्वर के बीच जितना संभव हो उतना कम ट्रैफिक रखना चाहता हूं और प्रश्नों की संख्या को कम करना चाहता हूं।

ऐसा करने के लिए, मैं प्रमाणीकरण के लिए जरूरी छोटी जानकारी प्राप्त करना चाहता हूं, और प्रक्रिया की शुरुआत में केवल एक बार।

मैं ऐसा कुछ करने की सोच रहा था, लेकिन जाहिर है, यह काम नहीं करता है। किसी के पास कोई विचार है?

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

अंत में जो मैं चाहता हूं वह एक शब्दकोश होगा, बिना टेबल ऑब्जेक्ट से ऑब्जेक्ट टाइप ऑब्जेक्ट डाउनलोड किए।

मैंने निम्नलिखित कोड भी माना, लेकिन मैं एक उचित तरीका खोजने की कोशिश कर रहा था:

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



नामस्थान का प्रयोग करें

using System.Collections.Specialized;

DataContext क्लास का उदाहरण बनाएं

LinqToSqlDataContext dc = new LinqToSqlDataContext();

उपयोग

OrderedDictionary dict = dc.TableName.ToDictionary(d => d.key, d => d.value);

मानों को पुनर्प्राप्त करने के लिए नामस्थान का उपयोग करें

   using System.Collections;

ICollection keyCollections = dict.Keys;
ICOllection valueCollections = dict.Values;

String[] myKeys = new String[dict.Count];
String[] myValues = new String[dict.Count];

keyCollections.CopyTo(myKeys,0);
valueCollections.CopyTo(myValues,0);

for(int i=0; i<dict.Count; i++)
{
Console.WriteLine("Key: " + myKeys[i] + "Value: " + myValues[i]);
}
Console.ReadKey();



Links