#1
|
||||
|
||||
الدرس السابع والستون : مع linq - دورة .net 2008
بسم الله الرحمن الرحيم . السلام عليكم ورحمة الله وبركاته . في الدرس السابق تعرفنا على اساسيات LINQ ، سنواصل في درسنا هذا استخدام التطبيقات المختلفة في هذه التقنية . *** تذكير سريع : المتغيرات غير المعرفة : احياناً تقوم بعمل جملة استعلام يكون الناتج فيها فئة لم تقم بتعريفها من قبل ، هذه هي واحدة من فوائد تقنية Implicitly Typed Local Variables التي تم شرحها سابقاً ، هذه الجملة كمثال : كود PHP:
*** تذكير آخر : استخدام Lambda Expressions مع LINQ : تذكر أن باستطاعات استخدام تعبيرات لامبادا Lambda Expressions بدلاً من كتابة استعلام LINQ بالطريقة العادية . ذكرنا في أول دروسناً ثلاث أنواع لل LINQ . 1- LINQ TO DATAET : ال dataset كما اسلفنا تشكل صورة أو نسخة من قاعدة البيانات في الذاكرة ، لذا فهي بكل بساطة نقطة جيدة لنستخدم عليها استعلامات LINQ الخاصة بنا . هذا الدرس للاستاذ محمد سامر سلو فيه تفصيل جيد لهذا الموضوع . http://vb4arab.com/vb/showthread.php?t=12294 2- LINQ TO XML : درس آخر للاستاذ محمد سامر حول هذا الموضوع . http://vb4arab.com/vb/showthread.php?t=9126 أما النوع الثالث فسنفرد له موضوعاً مستقلاً هو آخر مواضيعنا حول LINQ في الدرس القادم . 3- LINQ TO SQL : فئة من فئات LINQ موجهة خصيصاً لدعم SQL Server ، في العادة هي الأكثر استخداما وسنحاول التعرف عليها سريعاً في هذا الدرس . - البحث والاستعلام : تعرفنا عليه سابقاً ، هذا المثال مثلاً لاعادة الاسم وتاريخ التخرج على شكل فئة جديدة للأشخاص الذين يزيد عمرهم عن 30 سنة ويقطنون في مصر : كود PHP:
كود PHP:
فكرة ال Compiled Query ببساطة تعتمد على استخدام دالة CompiledQuery.Compile لعمل Compile لجملة الاستعلام ، الشكل التالي كمثال : كود PHP:
كود PHP:
لو فرضنا جملة الاستعلام التالية : كود PHP:
كود PHP:
قد تجد نفسك مضطراً احياناً لاستخدام واحدة من مميزات جمل الاستعلام التقليدية مثل الأمر PIVOT ، على كل هذه هي الصيغة العام لتنفيذ جملة SQL داخل ال LINQ : - مثال منقول - : كود PHP:
كود PHP:
استخدام Update : كود PHP:
استخدام Delete : كود PHP:
SubmitChanges: بعد اي عملية للاضافة أو للحذف أو التعديل لا بد من استدعاء الدالة db.SubmitChanges() لتفعيل التغييرات في قاعدة البيانات . التحديث بالتزامن في قاعدة البيانات : *** ال LINQ تتعامل بالوضع المنفصل وليس المتصل ، لذا ستجد له الكائن ChangeConflictExeption والذي ينتج عن تعارض عمليات التعديل على قاعدة البيانات بين عدة مستخدمين ، يمكن استعراض رسالة الخطأ بالشكل التالي : كود PHP:
يمكن ايضاً في الأمر SubmitChanges تحديد سلوك البرنامج في حالة حدوث تعارض مثل الشكل التالي : كود PHP:
انشاء فئات LINQ TO SQL من خلال الفيجوال ستوديو : يمكنك الفيجوال ستوديو 2008 من انشاء LINQ TO SQL Classes يمكنك التحكم بها لاحقاً ، من الشاشة الأولى : بعد اختياره ، يمكنك انشاء علاقات وجداول جديدة او سحب قاعدة بيانات من ال Server Explorer ، لذا قم بفتح قاعدة البيانات الخاصة بنا وقم بالبدء بسحب الجداول ، ستجد الشكل العام التالي : الآن بكل بساطة ستلاحظ ان الفيجوال ستوديو قام بمساعدتك في انشاء Data Access Layer - لو كنت تتذكرها - ، ستجد تعريفات للدوال التالية مثلاً : كود PHP:
إلى هنا تكون دروسنا المتعلقة ب LINQ وما يتبعها من قواعد البيانات قد انتهت ، ربما نعود لقواعد البيانات بصورة مبسطة مرة اخرى مع دروس الويب . والله الموفق ... والسلام عليكم ورحمة الله وبركاته .
|
|
|
المواضيع المتشابهه | ||||
الموضوع | كاتب الموضوع | المنتدى | مشاركات | آخر مشاركة |
الدرس الواحد والستون ADO.net - دورة .net 2008 | khaledbelal | دورة .NET 2008 من منتدى فيجوال بيسك للعرب | 1 | 05-03-2011 10:47 PM |
الافتراضي الدرس السادس والستون : العودة إلى linq - دورة .net 2008 | khaledbelal | دورة .NET 2008 من منتدى فيجوال بيسك للعرب | 1 | 07-11-2010 10:05 AM |
الدرس الخامس والستون : ADO.net - الوضع المنفصل - دورة .net 2008 | khaledbelal | دورة .NET 2008 من منتدى فيجوال بيسك للعرب | 0 | 03-11-2010 03:37 PM |
الدرس الرابع والستون : ADO.net - الوضع المنفصل - دورة .net 2008 | khaledbelal | دورة .NET 2008 من منتدى فيجوال بيسك للعرب | 0 | 03-11-2010 03:32 PM |
الدرس السابع والخمسون : Wpf 2d - دورة .net 2008 | khaledbelal | دورة .NET 2008 من منتدى فيجوال بيسك للعرب | 2 | 03-05-2010 06:57 PM |