सबसे पहले, एक संबंधपरक संरचना बनाने और डेटाबेस में फ़ील्ड में ऑब्जेक्ट मैप करने का स्पष्ट मार्ग है।
दूसरा, यदि आपके पास कोई ऑब्जेक्ट है जो serializable है, तो आप इसे SQL सर्वर में संग्रहीत कर सकते हैं। मैंने इसे अवसर पर किया है, और एक्सएमएल स्टोर करने के लिए SQL सर्वर में टेक्स्ट डेटा प्रकार का उपयोग किया है।
राय: मैं सीरियलाइज्ड ऑब्जेक्ट्स को बाइनरी डेटा के बजाय एक्सएमएल के रूप में स्टोर करना पसंद करता हूं। क्यों? क्योंकि आप वास्तव में वहां क्या पढ़ सकते हैं (डीबगिंग के लिए), और SQL सर्वर में आप धारावाहिक ऑब्जेक्ट से डेटा का चयन करने के लिए XQuery का उपयोग कर सकते हैं। मेरे अनुभव से, बाइनरी डेटा का उपयोग करने का प्रदर्शन लाभ उस डेटा के मुकाबले लायक नहीं होगा जो डीबग करना आसान है और एक psuedo-relational फैशन में उपयोग किया जा सकता है। SQL Server's XQuery capabilities पर एक नज़र डालें। यहां तक कि यदि आप तुरंत इसका उपयोग करने की योजना नहीं बनाते हैं, तो अपने आप को कोने में रखने का कोई कारण नहीं है।
आप NetDataContractSerializer का उपयोग करके कुछ उदाहरण देख सकते हैं।
मुझे विश्वास है कि आप वेक्टर कहलाते हैं, एक सूची <> सी # में है। System.Collections.Generic में एक नज़र डालें।
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.Serialization;
using System.IO;
namespace SerializeThingy
{
class Program
{
static void Main(string[] args)
{
List<string> myList = new List<string>();
myList.Add("One");
myList.Add("Two");
myList.Add("Three");
NetDataContractSerializer serializer = new NetDataContractSerializer();
MemoryStream stream = new MemoryStream();
serializer.Serialize(stream, myList);
stream.Position = 0;
Console.WriteLine(ASCIIEncoding.ASCII.GetString(stream.ToArray()));
List<string> myList2 = (List<string>)serializer.Deserialize(stream);
Console.WriteLine(myList2[0]);
Console.ReadKey();
}
}
}
यह उदाहरण सिर्फ एक सूची serializes, कंसोल के लिए क्रमबद्धता आउटपुट, और फिर साबित होता है इसे सही ढंग से दूसरा पहलू पर हाइड्रेटेड गया था: आप की तरह 3 स्ट्रिंग की एक सूची को क्रमानुसार करने NetDataContractSerializer उपयोग कर सकते हैं। मुझे लगता है कि आप देख सकते हैं कि यहां से आप मेमोरी स्ट्रीम को स्ट्रिंग में डंप कर सकते हैं और डेटाबेस में लिख सकते हैं, या इसे करने के लिए मेमोरी स्ट्रीम की तुलना में किसी अन्य स्ट्रीम प्रकार का उपयोग कर सकते हैं।
सिस्टम को संदर्भित करना याद रखें। रनटाइम। NetDataContractSerializer तक पहुंच प्राप्त करने के लिए क्रमबद्धता।
स्रोत
2008-10-20 00:15:13
बहुत बढ़िया जवाब, धन्यवाद! – cori
@ जेसन जैक्सन मैं आपसे सहमत हूं, जब आप कहते हैं ** "मैं बाइनरी डेटा के बजाय धारावाहिक वस्तुओं को एक्सएमएल के रूप में स्टोर करना पसंद करता हूं" **, लेकिन अगर मुझे इंटरफेस को क्रमबद्ध करना है तो क्या होगा? – davioooh
इंटरफेस क्रमिक नहीं हैं इसलिए कार्यान्वित गुणों को अनदेखा किया जाना चाहिए ... उपरोक्त विधि कुछ मामलों में बहुत उपयोगी है जहां आपके पास डेटा संरचना निर्माण पर समय लेने वाला संचालन है ... मैं JSON serializer का उपयोग करना पसंद करता हूं जिससे आप स्मृति को सहेज लेंगे ... –