linq-to-sql - التعلم عن LINQ




linq-to-entities linq-to-objects (9)

IMHO ، فائدة مهملة ، ولكنها مهمة ، هي كفاءة التشفير في LINQ ، على سبيل المثال كم يمكن تحقيقه باستخدام القليل من الكود. أنا شخصيا العثور على صيغة الاستعلام سهلة القراءة والفهم.

نظرة عامة

أحد الأشياء التي سألتها كثيرًا عن هذا الموقع هي LINQ . الأسئلة التي طرحتها كانت واسعة ومتنوعة وغالبا ما لا يكون لها سياق كثير وراءها. لذا في محاولة لتوحيد المعرفة التي اكتسبتها على Linq ، إنني أطرح هذا السؤال بهدف الحفاظ عليه وتحديثه بمعلومات إضافية بينما أستمر في التعلم عن LINQ.

آمل أيضا أن يثبت أنه مورد مفيد لغيرهم من الناس الراغبين في التعلم عن LINQ.

ما هو LINQ؟

من LINQ :

يعتبر مشروع LINQ هو الاسم الرمزي لمجموعة من الملحقات في .NET Framework والتي تشمل الاستعلام المدمج في اللغة ، وتعيين ، وتحويل العمليات. ويمتد C # و Visual Basic مع بناء جملة اللغة الأم للاستعلامات ويوفر مكتبات فئة للاستفادة من هذه القدرات.

ما يعنيه هذا هو أن LINQ يوفر طريقة قياسية للاستعلام عن مجموعة متنوعة من مصادر البيانات باستخدام بناء جملة شائع.

ما هي نكهات LINQ؟

يوجد حاليًا عدد قليل من موفري LINQ الذين توفرهم Microsoft:

هناك عدد غير قليل من الآخرين ، كثير منها مذكورة here .

ما هي المنافع؟

  • طريقة موحدة للاستعلام عن datasources متعددة
  • تجميع وقت سلامة الاستعلامات
  • الطريقة المثلى لأداء العمليات القائمة على مجموعة في كائنات الذاكرة
  • القدرة على تصحيح الاستعلامات

إذن ماذا يمكنني أن أفعل مع LINQ؟

يوفر Chook طريقة لإخراج ملفات CSV
يوضح Jeff كيفية إزالة التكرارات من مصفوفة
يحصل Bob على قائمة مرتبة مميزة من قائمة بيانات
يوضح Marxidad كيفية فرز صفيف
يحصل دانا على مساعدة في تنفيذ تصنيف سريع باستخدام Linq

من أين أبدا؟

فيما يلي ملخص لروابط من سؤال GateKiller :
يقدم سكوت غوثري مقدمة للينق على مدونته
نظرة عامة على LINQ على MSDN

يقترح ChrisAnnODell التحقق من:

ما الذي أحتاجه لاستخدام LINQ؟

يتوفر Linq حالياً في VB.Net 9.0 و C # 3.0 لذا ستحتاج إلى Visual Studio 2008 أو أكثر للحصول على الفوائد الكاملة. (يمكنك دومًا كتابة التعليمات البرمجية في المفكرة وتجميعها باستخدام MSBuild)

هناك أيضًا أداة تُسمى LinqBridge والتي ستسمح لك بتشغيل Linq مثل استعلامات C # 2.0.

نصائح وحيل باستخدام LINQ

هذا السؤال لديه بعض الطرق الصعبة لاستخدام LINQ


احصل على كتاب Linq in Action ، وهو عبارة عن قراءة سهلة لكتاب ترميز ، ويعلمك حقًا كيفية استخدام Linq والميزات الجديدة لـ .NET 3.5 بعض الأجزاء الرائعة التي وضعها في اللغة.


لممارسة لينك

إذا كنت ترغب في ممارسة بعض التمارين على LINQ مع التمارين والأجوبة ، من السهل إعدادها ، وفي رأيي ، رائع:

https://github.com/walkhard/linq-exercises

تنزيل من git ، مفتوح في Visual Studio. مهمتك هي أن تجتاز الاختبارات.

[الإفصاح: تعلمت بعض linq منه وأنا أساهم في المشروع لذلك نعم أعتقد أنها طريقة رائعة وسريعة وفعالة للتعلم.]


هنا 101 عينات Linq التي تعتبر مرجعاً عظيماً إذا كنت ترغب فقط في مثال syntactical سريع.

دعونا أيضا لا ننسى LinqPad :)



أعتقد أن الإجابة على "ما هي نكهات LINQ هناك؟" غير كاملة. بادئ ذي بدء ، يمكنك إنشاء "نكهة" الخاصة بك. نعم ، إنها مهمة متقدمة ، ولكن هناك الكثير من تطبيقات LINQ المختلفة الآن.

فيما يلي قائمة بموفري LINQ الحاليين (بالإضافة إلى بعض الموارد الإضافية على تعلم LINQ) على مدونة Charlie Calvert: Links to LINQ .

وأيضا هناك سلسلة ممتازة من التدوينات التي كتبها Matt Warren حول كيفية إنشاء مزود LINQ الخاص بك: LINQ: بناء سلسلة موفري IQUeryable


سنتي 2 ، اقرأ فصول "11 تعبيرات Query و LINQ to Objects" و "12 LINQ ما وراء المجموعات" في كتاب "C # in Depth" لفهم كيفية عمل LINQ.



إذا كانت قاعدة البيانات الخاصة بك بسيطة وبسيطة ، فستقوم LINQ بـ SQL بذلك. إذا كنت تحتاج إلى كيانات منطقية / مستخلصة أعلى جداولك ، فانتقل إلى Entity Framework.





linq linq-to-sql linq-to-entities linq-to-objects