سؤال

أنا أكتب برنامجًا بسيطًا سيتم تشغيله بالكامل من جانب العميل. (برمجة سطح المكتب؟ هل ما زال الناس يفعلون ذلك؟) وأحتاج إلى طريقة بسيطة لتخزين كميات تافهة من البيانات في شكل منظم ، لكن لا ترى أي حاجة إلى استخدام نظام قاعدة بيانات. والأكثر من ذلك ، أن بعض البيانات تحتاج إلى تسلسلها وتمريرها إلى مستخدمين مختلفين ، مثل نوع من "الملف" أو ربما "وثيقة". (هل فعل أي شخص ذلك من قبل؟)

لذلك ، نظرت إلى استخدام مجموعات بيانات .NET ، LINQ ، معالجة XML المباشرة ، ويبدو أنهم جميعًا سيقومون بإنجاز المهمة ، لكنني أود أن أعرف قبل أن أغوص في أي منها إذا كانت هناك طريقة واحدة بشكل عام تعتبر أسهل في رمز من غيرها. كما قلت ، فإن كمية البيانات التي سيتم تخزينها تافهة ، حتى لو استخدم مائة شخص نفس الجهاز الذي لا نتحدث عنه أكثر من 10 ميغابايت ، لذلك فإن الأداء ليس مصدر قلق كبير مثل قابلية الترميز/الصيانة. شكرا لكم جميعا مقدما!

هل كانت مفيدة؟

المحلول

يبدو أن LINQ-to-XML هو خيار جيد لهذا.

الرابط 1 الرابط 2

طن من المعلومات هناك على هذا.

نصائح أخرى

دون معرفة أي شيء آخر عن تطبيقك ، من المحتمل أن تكون مجموعات بيانات .NET هي الخيار الأسهل لك بسبب Writexml و ReadXML موجود مسبقا.

يجب على أي واجهة برمجة تطبيقات التسلسل أن تفعل بشكل جيد هنا. أوصي بشيء يعتمد على العقد (ليس BinaryFormatter, ، الذي يعتمد على النوع) لأن ذلك سيبقيه قابلاً للاستخدام مع مرور الوقت (مع تغير التجميع الخاص بك).

لذلك أود أن أقوم ببناء نموذج كائن أساسي (DTO) واستخدام أي من:

  • XmlSerializer
  • DataContractSerializer
  • Protobuf-Net (تعلمون جميعًا أنه سيأتي ...)

OO ، بسيطة ، وسهلة. وسهل الاستخدام لتمرير أجزاء من البيانات (إما بين مستخدمي الخادم المركزي).

سأختار قاعدة بيانات مضمنة. لا يبدو أن استخدام شيء مثل SQLite مبالغة بالنسبة لي. يمكنك حتى تجربة منفذ C# (http://code.google.com/p/csharp-sqlite/).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top