![]() |
|
الدرس الخامس والأربعون - Query Expressions - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : الأقسام التعليمية - المنتدى القديم (http://vb4arb.com/vb/forumdisplay.php?fid=90) +--- قسم : قسم دورات المنتدى (http://vb4arb.com/vb/forumdisplay.php?fid=113) +---- قسم : دورة .net 2008 . لنبدأ سوياً (http://vb4arb.com/vb/forumdisplay.php?fid=138) +---- الموضوع : الدرس الخامس والأربعون - Query Expressions (/showthread.php?tid=5640) |
الدرس الخامس والأربعون - Query Expressions - RaggiTech - 14-10-12 كاتب الموضوع : أحمد جمال
بسم الله الرحمن الرحيم .السلام عليكم ورحمة الله وبركاته . تعتبر ال Query Expressions هي الخطوة الأولى والأساسية في عالم LINQ ، سنتعرف عليها هنا باختصار شديد كميزة جديدة من مميزات .net 2008 فيما سنؤجل باقي التفاصيل للفصول القادمة حينما نبدأ التعامل الفعلي مع قواعد البيانات . لنرى هذا المثال مثلاً : كود : [FONT=Tahoma]from d in developersهذا بالضبط هو محتوى جملة الاستعلام التي تعودت على كتابتها سابقاً بالشكل التالي : كود : [FONT=Tahoma]select name from developers where language="C#"[/FONT]إذن لماذا هذا الشكل الجديد ؟ في السابق كنا نقوم بارسال جملة الاستعلام ليتم تنفيذها في قاعدة البيانات وتعود بناتج على شكل DataReader أو مهما يكن ، أما الآن اصبحت جمل الاستعلام جزء من محتويات اللغة التي تقوم ببرمجتها . لتعمل على LINQ فلا بد من توريد مجال الأسماء هذا : كود : [FONT=Tahoma]using System.Linq;[/FONT]في الجزء الثاني سنعود إلى نقطة البداية لنفهم الموضوع منذ الخطوة الأولى . الدرس الخامس والأربعون - Query Expressions - RaggiTech - 14-10-12 الآن سنعود لنقطة البداية ، ال LINQ تعتمد على ان قاعدة البيانات هي عبارة عن Array أو أي جزء منها ، لذا سنجرب بعض العمليات على ال Array ، لنفترض الشكل التالي مثلاً : كود : string[] userNames = {"Ahmed", "Ali","Mohammed", "Ahmed","Ramy", "Khaled"};هذه المصفوفة قد تكون قاعدة بيانات ، قد تكون ملف XML ، قد تكون أي شيء آخر ، الآن سنحاول بناء جملة استعلام لقراءة الاسماء التي تساوي "Ahmed" كود : IEnumerable<string> subset = from users in userNamesكود : foreach (string s in subset)كود : IEnumerable<string> subset = from users in userNamesطريقة أخرى لكتابة هذه الجمل باستخدام Lambada ، وسنتعرف عليها في مرحلة قادمة . للتحويل إلى vb.net يمكنك مراجعة دروس الأخ النبهاني ومحمد سامر سلو حول LINQ ، بصراحة لم اكن قادراً على تطبيق عملية التحويل لذا اعتذر . الدرس الخامس والأربعون - Query Expressions - RaggiTech - 14-10-12 كاتب المشاركة : أحمد جمال
آخر مواضيعنا في هذا الدرس هو التعرف على المعاملات الخاصة ب LINQ ، اتوقع انه سيكون نوع من التكرار غير المطلوب ان اقوم بشرحها خصوصاً انها مشروحة بالكامل في كتاب ( إبدأ LINQ ) ، لذا سأقتبس هنا الجزء الخاص بشرحه بالكامل :الكتاب بالكامل موجود هنا ، ما اطلبه منك تحديداً هو قراءة الصفحات من 27 إلى 42 : http://vb4arb.com/vb/uploaded/18_01350219662.zip لست أذكر مؤلف الكتاب تحديداً ولكن اتوقع انه الأخ محمد حمدي غانم ، إذا كنت قد أخطأت فأتمنى منكم التصحيح . والله الموفق ... والسلام عليكم ورحمة الله وبركاته . |