الرئيسية > برمجة قواعد البيانات ADO.NET > مقدمة إلى تقنية LINQ مع أمثله مقابله لجمل SQL مختلفة

مقدمة إلى تقنية LINQ مع أمثله مقابله لجمل SQL مختلفة

اقدم لكم هذا الموضوع الذي قد يجده البعض سابقا لأوانه ، وهو يتحدث عن تقنية LINQ التي يحملها اوركاس الينا ( الاصدار 2008 من Visual Studio ) ولكن في الحقيقة انه استغلال للوقت وتعلم لشيء جديد سيجعلنا قادرين على العمل معه فور صدور الاصدار النهائي من Visual Studio 2008 والملقب بـ Orcas .هذا المقال مقال مترجم وهذا مصدره للأمانه ، ولا تنسوا ان الترجمه هي مصدر رئيسي للمعلومات ادت الى تفوق امتنا الاسلامية العربية في قديم الزمان وهي الوسيلة التي جعلت الغرب اليوم يعيش في هذه الثورة العلمية العظيمة التي يشهدها العالم اليوم .اولا : ما هي تقنية LINQ ؟
لقد تحدثت في هذا الموضوع :تعرف على Microsoft Visual Studio 2008 Code Name Orcas عن هذه التقنية بشكل مختصر وهناك تجد جواب هذا السؤال فلا داعي للتكرار

ثانيا : ما هي LINQ to SQL ؟
هي عباره عن اداه تتوفر في أوركاس ، تقوم هذه الأداة بعرض قاعدة البيانات التي تتصل بها على هيئة فئات net. مما يساعدك على استخدام تقنية LINQ وما تتضمنه من امكانيات مختلفه كعرض البيانات وتعديلها وحذف البيانات واضافه بيانات جديده وغيرها من الاوامر التي تمكننا لغه SQL سابقا من القيام بها . ويجب ان نعلم ايضا ان هذه الاداة لا تغفل مكونات قاعدة البيانات الاخرى كالـ Views, Transictions and Stored Procedures .

وتوضح هذه الصورة أداة LINQ to SQL التي ترجمت قاعدة بيانات Northwind الشهيره :

ويوضح هذا الفيديو كيفية استخدام هذا المحرر كتابه بعض الاكواد بهذه التقنية . للمزيد من المعلومات حول هذا الفيديو الرجاء النقر هنا . وخذها نصيحه مني ، لا تفوت الفلم السابق وحاول قدر الامكان ان تشاهده قبل ان تكمل هذه المقاله لانه بالفعل يوضح لك الاستخدام العملي لهذه التقنية بلغه #C ( وطبعا مع VB.NET سيكون مثله ) وسيكشف لك الكثير من الغموض !

ونلاحظ من هذه الصوره كيف ان قاعدة البيانات تظهر جداولها كفئات net. وهنا السر في كيفية الاستخدام المباشر للجداول والكائنات الاخرى لقاعدة البيانات في اكوادك

والآن حان وقت الجد الحقيقي ، وقت التعامل مع الاكواد :

التعامل مع تقني LINQ بالكود ( أمثله ) :
1- الاستعلام عن قيمه معينه بإستخدام LINQ :
لاحظ الكود التالي ( مرفق بصيغه VB.NET و #C ) :


من خلال محاوله قراءه الكود السابق نجد انه يقابل شيئا مثل الجمله التالية في SQL :

كود:

SELECT P FROM Products  WHERE Category.CategoryName = "Beverages"

لكننا نلاحظ انه من احد الفوائد الرئيسية هنا اننا حصلنا على كائن يسمى Products يحتوي على ناتج الجمله السابقة بشكل مباشر !

2- تحديث Product في قاعدة البيانات :
الكود التالي يمثل مقابل لجمله استعلام لتحديث الجدول Products في السجل الذي تكون فيه قيمه الحقل ProductName تساوي Toy 1 :

لاحظ كيف ان عمليه الجفظ والتعديل اصبحت سهله ؟ أليس ما تريده انت كمبرمج هو الحصول على طرق اسهل للعمل وتقليل حجم الكود لتنفيذ عمليه معينه مع الاحتفاظ بتحكم جيد بل ممتاز بالعمل ؟ هذا ما تقدمه تقنية LINQ للمبرمجين في مجال قواعد البيانات !

أطلب من أحدكم ان يثبت لي انه قرأ هذا السطر ويكتب بنفسه الكود كاملا في Visual Studio 2005 و net framework 2.0 وما قبلهما بإستخدام كائن SQLCommand او OleCommand

3- إضافة Category جديده الى قاعدة البيانات مع 2 Products :


وهذه هي كل الحكاية يا سلام على هذه التقنية الآن اقول متى سيصدر اوركاس حتى ننتهي من ما نحن عليه الآن !

4- حذف Product من قاعدة البيانات :
وهذا مثال بالكود لحذف جميع السجلات التي تحتوي على “Toy” في الحقل CategoryName :

يا سلام على السهوله الشديده

5- استدعاء اجراء مخزن Stored Procedure من قاعدة البيانات :
يا سلام على الاجراءات المخزنة واستخدامها ، يا سلام على سرعتها وعلى تسهيلها للعمل ومن يعمل على تطبيق كبير يعرف معنى كلامي واقدم له هذه الهدية :

الكود السابق بكلا الصيغتين استدعى اجراءا مخزنا في قاعدة البيانات اسمه GetProductsByCategory والذي اصبح استدعاؤه اسهل من اي وقت مضى !

وقبل أن اختم هذا المقال ، اود ان اخبركم بخبر ، وهو ان هذه المقاله ليست كامله ولكنني وضعت الجزء الذي يخص الكود فقط ، فهناك جزء آخر من هذه المقاله يتحدث حول الاداه LINQ to SQL وكيفية وضع الجداول والحقول المطلوبة عليها وامور اخرى مهمه يمكنكم الوصول اليها بالنقر على هذا الرابط

وكالعاده اجدد النداء ، يا من تصرون على Visual studio 2002 و 2003 في عهد 2005 الفرق بينهم كبير جدا فلماذا كل هذا الاصرار على البقاء في الوراء في هذه التنقيات ؟

يامن تصرون على البقاء على Visual Basic 6 وتعيدون وتزيدون فيه مئات المرات ، الا تدركون انكم بذلك تحافظون على جهلكم – واسمحولي على الكلمه الاخيره ولكن الحق يقال .

  1. الناشي
    سبتمبر 11, 2009 الساعة 2:11 ص

    الاخ العزيز النبهاني

  1. No trackbacks yet.

أضف تعليقاً

إملأ الحقول أدناه بالمعلومات المناسبة أو إضغط على إحدى الأيقونات لتسجيل الدخول:

WordPress.com Logo

أنت تعلق بإستخدام حساب WordPress.com. تسجيل خروج   / تغيير )

صورة تويتر

أنت تعلق بإستخدام حساب Twitter. تسجيل خروج   / تغيير )

Facebook photo

أنت تعلق بإستخدام حساب Facebook. تسجيل خروج   / تغيير )

Google+ photo

أنت تعلق بإستخدام حساب Google+. تسجيل خروج   / تغيير )

Connecting to %s

%d مدونون معجبون بهذه: