2009-11-01 16 views
10

मैं अपना समय प्रबंधित करने के लिए कुछ WPF एप्लिकेशन बना रहा हूं। मैं कैलेंडर दिन के लिए प्रोजेक्ट पर कार्य समय के लिए समय अवधि बचा सकता हूं।एक WPF एप्लिकेशन में स्थानीय रूप से डेटा को सहेजने का सबसे अच्छा तरीका क्या है?

तो मेरा सवाल यह है कि डेटा को कैसे सहेजना है, इस पर सबसे अच्छा विकल्प क्या है? मैंने सोचा कि मैं एक एक्सएमएल फ़ाइल, Access डेटाबेस फ़ाइल या शायद एक संपत्ति का उपयोग कर सकता हूं। मैं स्थानीय रूप से डेटा को सहेजना चाहता हूं, इसलिए इस मामले में SQL Server कार्रवाई नहीं है। :)

आपको क्या लगता है, किस तरह से जाना है?

उत्तर

5

मैं अपने शुद्ध या .NET- अनुकूल रूप में SQLite को पकड़ूंगा ('sqlite .net' के लिए Google खोज करने से आपको कुछ विकल्प मिलेंगे)। यह सुपर पोर्टेबल है और, मेरी राय में, SQL सर्वर कॉम्पैक्ट की तुलना में सेट अप और वितरित करना आसान है।

महत्वपूर्ण बात यह सुनिश्चित करें कि आप बहुत कसकर, अपने कोड में अपने हठ तंत्र के लिए युग्मित नहीं कर रहे हैं ताकि भविष्य में आप आसानी से किसी भी भंडारण रणनीति आप चाहते हैं स्थानापन्न सकता है बनाने के लिए है।

+0

Thx! मैं SQLite का परीक्षण करूंगा, मुझे लगता है कि मैं क्या देख रहा हूं। – Richard

6

मैं तुम्हें कोई एसक्यूएल सर्वर कहा पता है, लेकिन मेरा मतलब है करने के लिए आप कोई "सर्वर" चाहते हैं कि पढ़ रहा हूँ, और आप ग्राहक पर अपने डेटा स्टोर करना चाहते हैं। मुझे यह भी लगता है कि आप शायद अपने डेटा की कुछ प्रबंधनीयता को ध्यान में रखेंगे। आप जानते हैं, बैकअप जैसी चीजें। और लेनदेन हमेशा अच्छे होते हैं, इसलिए आपका डेटा लगातार बना रहता है। इसलिए, जब आप एक्सएमएल का उपयोग कर सकते हैं (कृपया अपने दिमाग से एक्सेस के सभी विचारों को मिटा दें), तो यह एक हल समस्या है, जब आप अपनी दृढ़ता को घुमाएंगे।

तो, मुक्त SQL Server Compact संस्करण देखें। यह हल्का वजन है, जिसे डेस्कटॉप या मोबाइल डिवाइस पर चलाने के लिए डिज़ाइन किया गया है, और यदि आपके ऐप को कभी ऐसा करने की ज़रूरत है तो आसानी से तैनाती योग्य है। और सभी सामान्य दृढ़ता ढांचे का समर्थन करते हैं। और मैंने उल्लेख किया है कि यह मुफ़्त है (जैसा कि लागत में कुछ भी नहीं है)?

+0

मेरी निजी सैंडबॉक्स परियोजना एक ही चीज़ कम या कम है। मैंने लिंक 2 एसक्यूएल सीखने के तरीके के रूप में एसक्लसीई का उपयोग करने का विकल्प चुना। अगर मैं इसे फिर से करना चाहता था, तो मैं अमेज़ॅन, गूगल, या एमएस क्लाउड सेवा के साथ ऑनलाइन कुछ एसक्यूएलई डब्ल्यू/एडीओ या (यदि व्यावहारिक, अभी तक शोध नहीं किया है) का उपयोग करने का विकल्प चुन सकता हूं। –

+2

SQLite का उपयोग क्यों नहीं करें? यह सभी चीजों के साथ बहुत अच्छी तरह से एकीकृत करता है .NET और फाइल सिस्टम पर एक फ़ाइल के रूप में रहता है। –

+0

मैं SQLite के लिए भी वोट देता हूं। इसके लिए एक इकाई फ्रेमवर्क प्रदाता है, बीटीडब्ल्यू। –

4

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

एक बार जब आप विशेषताओं है कि आप अपने डेटा स्रोत, आपके वास्तविक उपयोग के आधार पर की आवश्यकता होगी निर्धारित करते हैं, उचित समर्थन की दुकान का चयन करें।

मैं इसे सामने यह फैसला लेने के लिए क्योंकि यह एक निजी परियोजना, नहीं एक वाणिज्यिक एक है महत्वपूर्ण है नहीं लगता।

1

अतीत में उपयोग किया गया एक मृत सरल दृष्टिकोण आपकी "xml फ़ाइल" विचार है। बस उस ऑब्जेक्ट को बनाएं जो आपके द्वारा देखी जाने वाली डेटा का वर्णन करता है, और उसके बाद इसे xml पर क्रमबद्ध करें। जब वे कहते हैं सुनिश्चित करें कि आपके डेटा स्रोत ठीक से decoupled है ताकि आप इसे बाहर स्विच कर सकते हैं, तो अपनी आवश्यकताओं के परिवर्तन कर

ग्रेग बिल्कुल सही है।

संबंधित मुद्दे

 संबंधित मुद्दे