العودة   منتدى رياض الجنة - Riad Al-Ganah > الرياض التقنية > روضة الكورسات والدورات التقنية والعلمية > روضة دورات تقنية الـ .NET بلغاتها المختلفة > دورة .NET 2008 من منتدى فيجوال بيسك للعرب

دورة .NET 2008 من منتدى فيجوال بيسك للعرب مقدم الدورة : أحمد جمال ، نوع الدورة : كتابية مصحوبة بصور ، حالة الدورة : انتهت ، عدد الدروس : 80 درس . مستوى الدورة : من البداية للاحتراف .

إضافة رد

 
أدوات الموضوع انواع عرض الموضوع
  #1  
قديم 03-11-2010, 03:56 PM
الصورة الرمزية khaledbelal
khaledbelal khaledbelal غير متواجد حالياً
مبرمج المنتدى
الادارة تكليف لا تشريف
 
تاريخ التسجيل: Oct 2009
العمر: 34
المشاركات: 3,606
افتراضي الافتراضي الدرس السادس والستون : العودة إلى linq - دورة .net 2008

بسم الله الرحمن الرحيم .
السلام عليكم ورحمة الله وبركاته .

بعد ان تعرفنا على بعض النقاط في عالم ADO.net ، جاء الدور لنتعرف على تقنية ******** Integrated Query او ما يعرف اختصاراً باسم LINQ ، وهي تقنية جديدة من مايكروسوفت تهدف كما اسلفنا في درس سابق إلى بناء استعلامات قوية يمكن التحكم فيها من خلال بيئة فيجوال ستوديو ، اضف إلى ذلك توحيد جملة الاستعلام مهما تكن نوعية مصدر قواعد البيانات الذي نتعامل معه سواء كان قاعدة بيانات أو XML File أو ملف نصي او ملف اكسيل أو خلافه .

لل LINQ ثلاث انواع رئيسية سنحاول التعرف على أجزائها هي :
LINQ to SQL – LINQ to XML – LINQ to Objects

أبسط أنواع الاستعلام هي الاستعلام مباشرة إلى متغير من نوع Array ، لنفترض المثال الذي شرحناه في مقدمتنا إلى LINQ قبل عدة دروس بالشكل التالي :

كود PHP:
     from d in developers
where d
.******** =="C#" 
select d.Name
بدلا من ******* ضع كلمة L a n g u a g e مع حذف المسافات بين الاحرف

هذه هي نفسها جملة الاستعلام التي كنا نكتبها بالشكل التالي :
كود PHP:
select name from developers where ********="C#" 
ولكن الآن لم نعد نحتاج لوجود قاعدة بيانات لتنفيذ جملة الاستعلام هذه عليها ، بل صار بامكاننا تطبيقها على مصفوفة بالشكل التالي :

كود PHP:
public class Developer

public 
string Name
public 
string ********; 
}
Developer[] developers = new Developer[] { new Developer Name " Ahmed", ********="C#" }, new Developer Name="Khaled", ********="****", new Developer Name="Ali"Languag="C++"} }; 
ومن ثم نكتب جملة استعلام بسيطة بالشكل التالي - راجع دروس ال IEnumerable - :
كود PHP:
IEnumerable<stringLINQresult =
from d in developers 
where d
.******** =="C#" 
select d.Name
الآن اصبح بامكانك بكل بساطة طباعة الناتج بالشكل التالي :
كود PHP:
     froeach string s in LINQresult 
{
 
MessageBox.Show(s); 

كما تلاحظ يمكنك استخدام اي معامل من المعاملات السابقة او عدمه ، فجملة كالتالي صحيحة ما دمت لا تحتاج الشرط :
كود PHP:
IEnumerable<stringLINQresult =
from d in developers 
select d
.Name
كما يمكنك ايضاً استخدام دالة C# عادية ضمن الشرط مثل دالة الطول بالشكل التالي :
كود PHP:
IEnumerable<stringLINQresult =
from d in developers 
where d
.Name.Length 
select d
.Name
orderby d
.Name

ترتيب جمل الاستعلام :

تعودنا في جمل الاستعلام على ترتيب Select From Where ، ولكننا في LINQ نستخدم Select لتكون هي الأخيرة دائماً ، السبب بكل بساطة هو ما يعرف باسم IntelliSense حيث اننا نود ان نعتمد على الفيجوال ستوديو ليظهر لنا الأعمدة التي يمكنها الظهور لنا ، فيما لو كتبنا Select قبل From فلن يستطيع الفيجوال ستوديو مساعدتك في تحديد الخيارات الموجودة لإنه لا يعرف اي جدول تريد أن تقرأ منه بعد .

جملة الاستعلام الكاملة :
كود PHP:
     from id in source
from id in source /
Join id in source on expr equals expr [into id] |
Let id expr 
Where condition 
Orderby orderingordering, ... [Ascending Descending

Select expr 
Group expr by key 
[into id query
ضع هذه الصيغة العامة في بالك فقط ، سنتعرف عليها خلال عملنا في هذه الدروس إن شاء الله ...

بالنسبة لدوال LINQ ، هذه هي الدوال التي كنا قد عرضناها سابقاً :




في المقدمة السابقة كنت قد احلتك إلى كتاب ( مبدأ إلى LINQ ) لكاتب مجهول لي حتى هذه اللحظة ، هنا سأضع صور من هذا الكتاب تحتوي على شرح الدوال الواحدة والخمسون .



































































































































نواصل دروسنا غداً مع التعرف على lambada واستخداماتها مع LINQ ....
والله الموفق ...
والسلام عليكم ورحمة الله وبركاته .


توقيع : khaledbelal



(أَفَأَمِنَ أَهْلُ الْقُرَى أَن يَأْتِيَهُمْ بَأْسُنَا بَيَاتاً وَهُمْ نَآئِمُونَ {97} أَوَ أَمِنَ أَهْلُ الْقُرَى أَن يَأْتِيَهُمْ بَأْسُنَا ضُحًى وَهُمْ يَلْعَبُونَ {98}
أَفَأَمِنُواْ مَكْرَ اللّهِ فَلاَ يَأْمَنُ مَكْرَ اللّهِ إِلاَّ الْقَوْمُ الْخَاسِرُونَ {99}).
سورة الأعراف.

رد مع اقتباس
  #2  
قديم 07-11-2010, 10:05 AM
mohamed nomeer mohamed nomeer غير متواجد حالياً

عضو جديد

 
تاريخ التسجيل: Jul 2010
المشاركات: 1
افتراضي

جزاك الله خيرا


رد مع اقتباس
إضافة رد


تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة

الانتقال السريع

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
الدرس الواحد والستون ADO.net - دورة .net 2008 khaledbelal دورة .NET 2008 من منتدى فيجوال بيسك للعرب 1 05-03-2011 10:47 PM
الدرس السادس عشر : ال OverLoading دورة .net 2008 khaledbelal دورة .NET 2008 من منتدى فيجوال بيسك للعرب 1 03-02-2011 03:43 PM
الدرس الخامس والستون : 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 - دورة .net 2008 khaledbelal دورة .NET 2008 من منتدى فيجوال بيسك للعرب 1 03-05-2010 07:06 PM

استضافة الحياة

الساعة الآن 07:02 AM.


Powered by vBulletin® v3.8.4, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. , TranZ By Almuhajir
النسخة الفضية
Ads Management Version 3.0.1 by Saeed Al-Atwi

SlamDesignzslamDesignzEdited by Riad Al-Ganah Team - جميع الحقوق محفوظة لشبكة رياض الجنة

Privacy Policy Valid XHTML 1.0 Transitional By SlamDesignz Valid CSS Transitional By SlamDesignz