كيفية القيام بما يلي: فرز نتائج الاستعلام باستخدام Visual Basic) LINQ)

اللغة المتكاملة لاستعلام (LINQ) تجعل من السهل الوصول إلى معلومات قاعدة البيانات وتنفيذ الاستعلامات.

يظهر المثال التالي كيفية إنشاء تطبيق جديد يقوم بتنفيذ الاستعلامات مقابل قاعدة بيانات SQL Server و يقوم بتصفية النتائج بقيمة معينة باستخدام البند Where. لمزيد من المعلومات، راجع عبارة Visual Basic) where).

تستخدم الأمثلة الموجودة في هذا موضوع قاعدة بيانات نموذج Northwind. إذا لم يكن لديك قاعدة بيانات نموذج Northwind على كمبيوتر التطوير الخاص بك، يمكنك تحميلها من موقع ويب مركز تنزيل Microsoft. للحصول على إرشادات، راجع Downloading Sample Databases (LINQ to SQL).

ملاحظة

قد يعرض جهاز الكمبيوتر الخاص بك أسماء أو مواقع مختلفة لبعض عناصر واجهة مستخدم Visual Studio في الإرشادات التالية. يحدد كل من إصدار Visual Studio لديك والإعدادات المستخدمة هذه العناصر. لمزيد من المعلومات، راجع العمل مع إعدادات.

لإنشاء اتصال إلى قاعدة البيانات

  1. في ‏‫Visual Studio افتح مستعرض الخادم/مستعرض قاعدة البيانات بالنقر فوق مستعرض الخادم/مستعرض قاعدة البيانات على قائمة عرض.

  2. انقر على اليمين اتصالات البيانات في مستعرض الخادم/مستكشف قاعدة البيانات ثم انقر فوق إضافة اتصال.

  3. تحديد اتصال صالح إلى قاعدة بيانات نموذج Northwind.

لإضافة المشروع الذي يحتوي على ‏‫ملف LINQ to SQL

  1. في ‏‫Visual Studio , على القائمة ملف قم بالإشارة إلى جديد ثم انقر فوق مشروع. حدد Visual Basic تطبيق Windows Forms كنوع المشروع.

  2. في مشروع قائمة ، انقر فوق إضافة عنصر جديد . حدد قالب عنصر فئات LINQ to SQL.

  3. قم بتسمية الملف northwind.dbml. انقر فوق إضافة. يتم فتح مصمم كائن العلاقات ( مصمم O/R ) لملف northwind.dbml .

لإضافة جداول لاستعلام مصمم O/R

  1. في مستعرض الخادم/مستعرض قاعدة بيانات ، قم بتوسيع الاتصال إلى قاعدة بيانات Northwind. قم بتوسيع مجلد الجداول.

    إذا قمت بإغلاق مصمم O/R، يمكنك إعادة فتحه بواسطة النقر المزدوج فوق ملف northwind.dbml الذي قمت بإضافته سابقاً.

  2. انقر فوق جدول العملاء وقم بسحبه إلى الجزء الأيسر للمصمم. انقر فوق الجداول الأخرى وقم بسحبها إلى الجزء اليسار للمصمم.

    يقوم المصمم بإنشاء كائنات Customer و Order جديدة للمشروع. لاحظ أن المصمم يكشف تلقائياً عن العلاقات بين الجداول ويقوم بإنشاء الخصائص التابعة للكائنات المرتبطة. على سبيل المثال، التحسس الذكي سيظهر أن الكائنات Customer تحتوي خاصية Orders لكل الطلبات المتعلقة بهذا العميل.

  3. احفظ المتغيرات و قم بإغلاق المصمم.

  4. احفظ المشروع الخاص بك.

لإضافة تعليمات برمجية لاستعلام قاعدة البيانات وعرض النتائج

  1. من مربع الأدوات, قم بسحب تحكم DataGridView على النوافذ الافتراضية من المشروع الخاص بك، Form1.

  2. انقر نقر مزدوج فوق Form1 لإضافة تعليمات برمجية إلى حدث Load الخاص بالنموذج.

  3. عندما تقوم بإضافة جداول إلى مصمم O/R، يقوم المصمم بإضافة كائن DataContext للمشروع. هذا الكائن يحتوي على التعليمات البرمجية التي يجب أن تكون لديك للوصول إلى هذه الجداول، بالإضافة إلى الكائنات و المجموعات الفردية لكل جدول. الكائن DataContext للمشروع الخاص بك، تمت تسميته استناداً إلى اسم الملف .dbml الخاص بك. لهذا المشروع، الكائن DataContext تمت تسميته northwindDataContext.

    يمكنك إنشاء مثيل DataContext في التعليمات البرمجية الخاصة بك و استعلام الجداول المحددة بواسطة مصمم O/R.

    قم بإضافة التعليمات البرمجية التالية للحدث Load لاستعلام الجداول التي يتم عرضها كخصائص سياق البيانات الخاص بك. يقوم الاستعلام بتصفية النتائج و إرجاع العملاء الموجودين في London.

    Dim db As New northwindDataContext
    
    Dim customers_London = From cust In db.Customers 
                           Where cust.City = "London" 
                           Select cust.CustomerID, cust.CompanyName, 
                                  OrderCount = cust.Orders.Count, 
                                  cust.City, cust.Country
    
    DataGridView1.DataSource = customers_London
    
  4. اضغط F5 لتشغيل المشروع الخاص بك وعرض النتائج.

  5. فيما يلي بعض عوامل تصفية أخرى يمكنك تجربتها.

    Dim companies_H = From cust In db.Customers 
                      Where cust.Orders.Count > 0 And
                            cust.CompanyName.StartsWith("H") 
                      Select cust.CustomerID, cust.CompanyName, 
                             OrderCount = cust.Orders.Count, 
                             cust.Country
    
    Dim customers_USA = From cust In db.Customers 
                        Where cust.Orders.Count > 15 And
                              cust.Country = "USA" 
                        Select cust.CustomerID, cust.CompanyName, 
                               OrderCount = cust.Orders.Count, 
                               cust.Country
    

راجع أيضًا:

المهام

Walkthrough: Creating LINQ to SQL Classes (O/R Designer)

المبادئ

DataContext Methods (O/R Designer)

موارد أخرى

LINQ في Visual Basic

استعلامات (Visual Basic)

LINQ to SQL