إطار عمل .NET ORM جيد يدعم OleDb والإجراءات المخزنة؟

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

  •  02-07-2019
  •  | 
  •  

سؤال

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

يمكن لأي شخص أن يوصي أي شيء؟لم أجد واحدًا يدعم OleDB والإجراءات المخزنة.

يحرر:أحتاج إلى اتصال OleDb بسبب SQL 6.5 (صدق أو لا تصدق).لا يمكن لـ ADO.NET الاتصال بـ SQL 6.5.أيضًا، هذا تطبيق .NET 2.0، لذا فإن LinqToSql لا فائدة منه بالنسبة لي.

تحرير 2:لقد قمت بالفعل بتجربة nHibernate وiBatis.ولا يناسب أي منهما احتياجاتي.في المرة الأخيرة التي حاولت فيها استخدام nHibernate، تطلب الأمر من SP إرجاع مجموعة نتائج.هذا ليس هو الحال مع مقدمي الخدمة الخاص بي.كلاهما يتطلب مني أيضًا تحديد المعلمات يدويًا.

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

المحلول

لدي خبرة في 3 طبقات ORM:

الثلاثة كلها مجانية، وتدعم اتصالات OleDb، والإجراءات المخزنة.

Subsonic - تم إنشاء هذا التطبيق خصيصًا لتطبيقات الويب.إنه يحاكي الكثير مما تفعله Ruby On Rails.لقد أضافوا فقط الهجرات.Subsonic هو الأخف بين الثلاثة.يعد استخدام Winforms أصعب قليلاً، ولكنه ليس بالصعوبة التي أعتقدها.يأتي مزودًا بأداة واجهة مستخدم رائعة لإنشاء التعليمات البرمجية والحفاظ على إعدادات قاعدة البيانات.هذا هو الوحيد الذي يدعم قواعد البيانات المختلفة.لقد استخدمته مع SQLite وSQL Server CE وSQL Server.

CSLA.NET - يمكن لهذا البرنامج التعامل إلى حد كبير مع جميع تقنيات .NET الجديدة والمشرقة.أعلم أن المؤلف أضاف للتو دعمًا لـ WCF وWPF وSilverlight.هذا هو ما أستخدمه عندما أحتاج إلى رفع أثقال كبيرة باستخدام تطبيقات من النوع المؤسسي.إنه يحتوي على الكثير من الميزات الرائعة مثل التراجع غير المحدود عن الكائنات، والقدرة على وضع علامة على المجموعات للقراءة فقط، والقدرة على نقل الكائنات وتثبيتها في أي مكان تريده.هذا هو أقرب ما يمكنك الحصول عليه لما يفعله JBoss على Java.

Net Tiers - أنا لست معجبًا كبيرًا به، ولكنه سينجز المهمة.إنها أخف من CSLA، ولكنها لا تزال أثقل من سرعة الصوت.

وأود أن أذكر أيضا السبات, سجل القلعة النشط, ، و مكتبة مايكروسوفت المؤسسة.ليس لدي الكثير من الخبرة مع هذه بالرغم من ذلك.

نصائح أخرى

مما سمعته من ADO .NET Entitry Framework لديه القليل من الدعم في الإجراءات المخزنة...LINQ2SQL يمكنك تشغيله ولكن قد يتطلب الأمر نوعًا ما من فئة الوكيل ...NHibernate و IBatis هو أفضل رهان لك ...

البدائل:

  1. لينك إلى SQL
  2. إطار عمل كيان ADO.NET
  3. السبات
  4. اختيارك )
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top