2011-04-03 12 views
5

से कक्षा को पॉप्युलेट करें मेरे पास एक कक्षा है जिसे मुझे डेटाटेबल ऑब्जेक्ट से हाइड्रेट करने की आवश्यकता है। आमतौर पर मैं इसे मैन्युअल तरीके से करता हूं। (कोड स्निपिट देखें)। DataTable ऑब्जेक्ट ADO.NET और TSQL का उपयोग करके पॉप्युलेट किया गया। मुझे डेटाटेबल से मूल्यों को मेरी .NET कक्षा में स्थानांतरित करने की आवश्यकता है। क्या कोई उपयोगिता विधि है जो मेरे लिए यह स्वचालित रूप से करेगी? तो मैं निम्नलिखित की तरह दोहराव कोड से बच सकते हैं?डेटाटेबल

  DriverSummary driver = new DriverSummary(); 
      driver.Id = (int)row["Id"]; 
      driver.UserId = row["UserId"] as string; 
      driver.Name = row["Name"] as string; 
      driver.TruckType = row["TruckType"] as string; 
      summaries.Add(driver); 

मुझे पता है कि इकाई फ्रेमवर्क एक ऐसा उपकरण है जो इस अंतर को भरने वाला है। मैंने पूरी तरह से इकाई फ्रेमवर्क पर कूद नहीं किया है। अभी के लिए मैं एक विधि चाहता हूं जो एमवीसी की उपयोगिता विधि UpdateModel() के समान है जो हल्के और सरल है और संपत्ति नामों के साथ प्रमुख नामों का मिलान करके फॉर्म-वैल्यू जोड़े की सूची से कक्षा को हाइड्रेट करता है।

ऐसी उपयोगिता विधि मुझे बहुत समय बचाएगी!

+0

क्या आपने [ऑटोमैपर] (http://automapper.codeplex.com) पर एक नज़र डाली है? यह वही हो सकता है जो आप चाहते हैं। :) – Tridus

उत्तर

4

जैसा ऊपर बताया गया है, मेरा मानना ​​है कि ऑटोमैपर अब यह कर सकता है। आप ValueInjecter पर भी देख सकते हैं। ValueInjecter and DataTable

+0

ओओ, यह बहुत अच्छा लग रहा है, मुझे इसे देखने दो! धन्यवाद। – BrokeMyLegBiking