تعداد التوافق مع بيانات ثابتة من قاعدة بيانات

StackOverflow https://stackoverflow.com/questions/322836

  •  11-07-2019
  •  | 
  •  

سؤال

ولدي تعداد رموز حالة التسليم. وعندما حفظ البيانات تسليم إلى قاعدة البيانات يتم تخزينها مع مفتاح خارجي إلى الجدول الذي يحتوي على نفس البيانات (أي نفس الرموز التسليم)

ما هي أفضل استراتيجية للحفاظ على تعداد في التوافق مع البيانات في قاعدة بيانات؟

هل تذكر فقط أن أضيف إلى التعداد عند إضافة رمز جديد إلى قاعدة بيانات؟

وأو تحميل البيانات إلى القاموس عند بدء تشغيل التطبيق؟ واستخدام القاموس بدلا من تعداد؟ رغم أن هذا يعني أنني لم يكن لديك تمثيل المكتوبة بشدة البيانات - التي أريد بالتأكيد

وأو شيء آخر؟

والبيانات ليست متقلبة جدا ولكن لا الحصول على إضافة رموز جديدة مرة كل القمر الأزرق

وسوف نقدر أي اقتراحات.

وذلك بفضل

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

المحلول

ويمكنني استخدام قوالب T4 في Visual Studio 2008. وبهذه الطريقة، لا أستطيع إجبار رمز جيل خلال بناء ويولد تتضمن التعدادات لكل الجدول الذي أريد.

وهناك نقطة انطلاق جيدة سيكون <وأ href = "http://dotnet.org.za/hiltong/archive/2008/08/06/generating-enums-from-database-tables.aspx" يختلط = "نوفولو noreferrer "> هيلتون Giesenow في عينة ، التي أعتقد إجابات بالضبط سؤالك.

واتباع نهج أكثر إثارة للاهتمام، من زاوية مختلفة، سيكون لاستخدام طرق SQL لمحاكاة تتضمن التعدادات في قاعدة البيانات. وبهذه الطريقة يمكنك مزامنة قاعدة البيانات الخاصة بك مع C # (أو غيرها) رمز. يمكنك العثور على وظيفة كبيرة حول هذا الموضوع على بلوق أوليغ Sych، و<لأ href = "http://www.olegsych.com/2008/07/t4-template-for-generating-sql-view-from-csharp-enumeration/ "يختلط =" نوفولو noreferrer "> هنا .

نصائح أخرى

عند يمكنني استخدام التعداد في القانون، وأنا عادة تخزين اسم تنسيق باعتباره VARCHAR في قاعدة البيانات بدلا من الحفاظ على الجدول من قيم التعداد في قاعدة البيانات. وأنا أدرك أن هذا ليس تطبيع كما يمكن للمرء أن تحب، ولكن أعتقد أنه أفضل من محاولة للحفاظ على قاعدة بيانات وبلدي تعداد مزامنته. كل ما هو مطلوب هو تهيئة على إدراج / تحديث وتحليل على اختيار لإعادة القيمة مرة أخرى في التعداد.

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

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