تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
LINQ to Everything
#1
السلام عليكم ورحمه الله وبركاته

أخوتي وأخواتي أعضاء هذا المنتدى الرائع أريد أن أقدم لكم اليوم درس متنوع في تقنية الـ LINQ, هذا الدرس ما هو إلا استعراض وتطبيق إمكانيات الإستعلام بواسطة هذه التقنية للوصول إلى الحلم LINQ to Everything, طبعا سأفترض أن الشخص القارىء قد تعرف مسبقا ولو الشيء اليسير عن هذه التقنية, لأنني ليس في صدد شرح هذه التقنية.

من المعروف لدينا وبعد ظهور الإصدار 3.0 متضمنا واحدة من أعظم التقنيات في مجال التعامل مع البيانات والاستعلام فيها, وكما نعلم أن الدوت نت في ذاك الإصدار وفر 3 أنواع من البيانات للاستعلام فيها سأحاول استعراض مثال لكل واحد منها, ومن ثم سنسعى للوصول إلى حلمنا المنشود.

1- LINQ to Objects

طبعا في هذا النوع يتم الإستعلام في الكائنات سوى كانت معرفة من أصل اللغة أو من قبل المبرمج.

سنقوم بكتابة مثال للإستعلام في مصفوفة نصية للبحث عن الأسماء التي تبدأ بحرف J

كود :
Dim names() As String = {"Peter", "Dave", "John", "Joseph", "Samantha"}
Dim query = From name In names
                Where name.StartsWith("J")
                Select name

For Each item In query
  Console.WriteLine(item)
Next

أما المثال التالي سوف نقوم بعرض أرقام وأسماء العمليات الجارية في نظام التشغيل والتي تحتوي أكثر من 4 Thread

كود :
Dim query = From process In process.GetProcesses()
                Where process.Threads.Count > 4
                Select process.Id, process.ProcessName

For Each item In query
  Console.WriteLine(String.Format("{0}: {1}", item.Id, item.ProcessName))
Next


2- LINQ to ADO.NET

طبعا في هذا النوع يتم الإستعلام في تقنية الـ ADO.NET وله 3 أنواع:

- LINQ to DataSet
ويقوم هذا النوع بالاستعلام في الكائن DataSet

وفي المثال التالي تم جلب أسامي الأصناف مرتبة حسب أرقامها من جدول الأصناف الموجود في الذاكرة في الكائن DataSet
كود :
Dim adpt As New CategoriesTableAdapter()
Dim ds As New NorthwindDataSet()
adpt.Fill(ds.Categories)
Dim query = From category In ds.Categories
                Order By category.CategoryID Descending
                Select category.CategoryName

For Each item In query
  Console.WriteLine(item)
Next


- LINQ to SQL
ويقوم هذا النوع بالاستعلام في قواعد البيانات العلائقية التي تستخدم لغة الاستعلام SQL

وفي المثال التالي تم الاستعلام عن عدد الطلبيات التي تاريخ طلبها أكبر من 3/2/1997

كود :
Dim db As New NorthwindDataContext()
        Dim query = (From order In db.Orders
                        Where order.OrderDate > New DateTime(1997, 2, 3)
                        Select order).Count

        Console.WriteLine(query)


.. نكتفي اليوم بهذا القدر, وسنكمل المشوار في يوم آخر وسنتطرق لأنواع اخرى يمكن الاستعلام فيها
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  Microsoft Report using LINQ TO SQL Abu Ehab 1 92 05-05-17, 11:27 AM
آخر رد: sendbad100
Exclamation سؤال في LINQ a_abdullah 3 156 25-03-17, 11:03 PM
آخر رد: khodor1985
  عملية البحث من خلال تقنية linq khodor1985 1 449 12-03-17, 07:29 PM
آخر رد: حريف برمجة
  الدرس الرابع : Linq To SQL khodor1985 6 797 10-03-17, 11:12 AM
آخر رد: عماد السيد
  البحث عن كلمة داخل ملف نصي باستخدام تقنية Linq Sajad 5 1,713 09-12-16, 09:05 AM
آخر رد: اجيسك
  LINQ _ My reference Will be here أبو عمر 8 880 09-12-16, 09:03 AM
آخر رد: اجيسك
  تصميم فاتورة مبيعات بتقنية Linq khodor1985 7 1,083 16-11-16, 01:27 PM
آخر رد: Amir_alzubidy
  ADO.NET VS LINQ khodor1985 1 517 13-06-16, 04:12 AM
آخر رد: hitman48
  DataGridView Paging LINQ TO SQL Abu Ehab 5 664 08-06-16, 05:18 PM
آخر رد: Abu Ehab
  LINQ TO DataSet & XML Files Abu Ehab 10 1,932 02-06-16, 11:40 AM
آخر رد: CLARO

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


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم