سؤال

وبدأ لتوه تعلم NHiberate. يبدو مملا وليس لكتابة ملفات hbm.xml التهيئة المناسبة لكل جدول قاعدة البيانات.

والسؤال هو هل يمكن قراءة NHibernate في الجداول واسترداد العلاقات تلقائيا وتحتاج ملف التكوين وكذلك الطبقات قاعدة بيانات معين بالنسبة لك؟ ويبدو أن مبرمج ما زالت تحتاج الى القيام بالكثير من العمل على الأرض في البداية. ثم جئت عبر Codesmith التي حصلت على نماذج لNHiberate؟ هل ملء الفراغ؟

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

المحلول

ويمكنك استخدام القوالب رمز، ولكن هذا لا يزال يخلق IMHO الألم. أفضل طريقة هي استخدام يجيد nHibernate . لديهم ميزة لصناعة السيارات في مخطط الجديدة، يستخدم التكوين عن طريق الاتفاقية. لا توجد ملفات الخرائط، فإنه يجعل من مجرد افتراضات التي تستخدمها أسماء مشابهة، ويمكن تحديد قواعد لكيفية تحويل اسم الكيان إلى اسم الجدول.

نصائح أخرى

وتوليد كود يمكن ملء هذه الفجوة بشكل جيد، لقد بدأت باستخدام CodeSmith، ولكن بعد أن جعلوا عنصر الأجر حتى انتقلت إلى <لأ href = "http://www.mygenerationsoftware.com" يختلط = "نوفولو noreferrer" > MyGeneration . أسلوبي هو لمهاجمة DB أولا، رمز جنرال الملفات رسم الخرائط، والطبقات جنرال إذا لم تكن موجودة بالفعل. أن يحصل على شيء ما يحدث بسرعة حقا، وكبيرة لنموذج وخلق بيانات اختبار.

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

وأعمل لCodeSmith ... يرجى أن نضع في اعتبارنا أن MyGeneration لم يتم تحديثها منذ الأبد مما يعني أنه يفتقر إلى دعم أيضا. CodeSmith تؤيد تماما منتجاتها والقوالب. وهذا يعني أيضا أن تكون ثابتة أي البق القالب والتحقق منها بواسطة Codesmith.

والشكر

و-Blake Niemyjski

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