سؤال

لدي مشروع أعمل عليه حاليًا ولكنه حاليًا يدعم فقط .net Framework 2.0.أنا أحب linq، ولكن بسبب إصدار الإطار لا أستطيع استخدامه.ما أريده ليس الجانب ORM للأشياء، بل "قابلية الاستعلام" (هل هذه حتى كلمة؟) الخاصة بـ Linq.

حتى الآن هو الأقرب llblgen ولكن إذا كان هناك شيء أخف وزنًا يمكنه إجراء الاستعلام نيابةً عني فسيكون ذلك أفضل.

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

إذا كان أي شخص على علم بشيء من شأنه أن يمنحني واجهة استعلام مشابهة لـ Linq (أو حتى أفضل، كيفية جعل Linq يعمل على إطار عمل .net 2.0) أود حقًا أن أسمع عنه.

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

المحلول

الق نظرة على هذا:

http://www.albahari.com/nutshell/linqbridge.html

Linq عبارة عن عدة أشياء مختلفة، ولست متأكدًا بنسبة 100% من الأجزاء التي تريدها، ولكن ما ورد أعلاه قد يكون مفيدًا بطريقة ما.إذا لم يكن لديك كتاب عن Linq (أعتقد أنك لا تملكه)، فقد وجدت أن "Linq In Action" جيد.

نصائح أخرى

قد ترغب في التحقق من ذلك دون سرعة الصوت.إنه ORM يستخدم نمط ActiveRecord.أنا متأكد من أن معظم ميزاته تعمل مع .NET Framework 2.0.

لتكرار ما قاله لانس - تتمتع لغة الاستعلام SubSonic بواجهة سلسة ليست جميلة مثل LINQ، ولكنها تمنحك بعض الفوائد (التحقق من وقت الترجمة، والتحسس الذكي، وما إلى ذلك).

يعمل LinqBridge بشكل جيد ضمن .NET 2.0، وستحصل على كافة امتدادات Linq ولغة الاستعلام.أنت بحاجة إلى VS 2008 لتتمكن من استخدامه، لكنك تعلم ذلك بالفعل.

ومع ذلك، Linq ليس ORM.إنها صيغة استعلام.إذا كنت تريد استخدام Linq للاستعلام عن قاعدة بيانات، فستحتاج إلى .NET 3.5.وذلك لأن الإصدار 2.0 لا يوفر الآلية اللازمة لتحويل كود Linq إلى لغة استعلام قاعدة البيانات المفضلة لديك.

بمعنى آخر، إذا كان ORM هو ما تحتاجه، لن يساعدك LinqBridge.تحتاج إلى التحقق من بعض الاقتراحات الأخرى المقدمة.

هناك طريقة للإشارة إلى LINQ في .NET 2.0 Framework، لكن يجب أن أحذرك من ذلك قد يكون مخالفًا لشروط الاستخدام/اتفاقية ترخيص المستخدم النهائي للإطار:

LINQ في وقت تشغيل .NET 2.0

أولاً.إن جعل linq نفسه يعمل على الإصدار 2.0 أمر غير وارد.إنه أمر ممكن، ولكنه في الحقيقة ليس شيئًا يجب القيام به خارج بيئة الاختبار.

أقرب ما يمكنك الحصول عليه فيما يتعلق بجزء ORM/الاستعلام الديناميكي منه، هو imho SubSonic، والذي سأوصي به لأي شخص عالق في C# 2.0

يبدو LinqBridge مكانًا رائعًا للبدء نظرًا لأن لدي VS2008، وأحتاج فقط إلى التجميع والنشر على خادم .net 2.0.

لقد ألقيت نظرة على SubSonic وهو أيضًا بديل مثير للاهتمام، ولكن يبدو أن linqbridge يوفر توافقًا أكبر بكثير، لذا لن أضطر إلى الذهاب وتعلم بناء جملة ORM/استعلام جديد.

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