English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

API LINQ (.Net)

يمكننا كتابة استعلامات LINQ للفئات التي تحقق من واجهات IEnumerable<T> أو IQueryable<T>.System.Linqالاسم الم空间的 يشمل الفئات والواجهات التالية التي تتطلب استعلامات LINQ.

API LINQ
 عند إضافة فئة جديدة في Visual Studio، يتم تضمين مجلد System.Linq بشكل افتراضي.

تستخدم طرق توسيع LINQ للفئات التي تحقق من واجهات IEnumerable أو IQueryable. فئات Enumerable و Queryable هما فئتان ثابتتان تحتويان على طرق توسيع لكتابة استعلامات LINQ.

فئة يمكن تمريرها

تتضمن فئة Enumerable طرق توسيع لتحقيق واجهة IEnumerable<T>، مثل أن جميع الفئات المدمجة تنفذ واجهة IEnumerable<T>، لذا يمكننا كتابة استعلامات LINQ لاسترجاع البيانات من المجموعات المدمجة.

الشكل التالي يظهر الطرق المضافة لفئة Enumerable يمكن استخدامها مع المجموعات الجينيكية في C# أو VB.Net.

الشكل التالي يظهر جميع الطرق التوسيع المتاحة في صفة Enumerable.

صفة Enumerable

قابل للاستعلام (Queryable)

تتضمن صفة Queryable طرق التوسيع التي تحقق واجهة成员 “IQueryable <t>”. تُستخدم واجهة IQutable<T> لتقديم وظائف استعلام مخصصة للأنواع المعروفة من مصادر البيانات، مثل api Entity Framework التي تحقق IQutable<T> لدعم استعلامات LINQ من خلال قاعدة البيانات الأساسية (مثل MS SQL Server).

إضافة إلى ذلك، هناك بعض واجهات البرمجة التطبيقية (APIs) التي يمكن استخدامها لوصول إلى بيانات الطرف الثالث. على سبيل المثال، يقدم LINQ to Amazon إمكانية دمج LINQ مع خدمات Amazon Web لبحث عن الكتب والأشياء الأخرى. هذا يمكن تحقيقه من خلال تنفيذ واجهة IQutable لـ Amazon.

الشكل التالي يظهر الطرق التوسيع المتاحة في صفة Queryable، والتي يمكن استخدامها مع أنواع مختلفة من مقدمي البيانات المضمنة أو الثالثة.

الشكل التالي يظهر الطرق التوسيع المتاحة في صفة Queryable.

صفة Queryable

  نقاط يجب تذكرها

  1. استخدام مسمى النظام System.LINQ لاستخدام LINQ.

  2. API LINQ تشمل صفحتين رئيسيتين ديناميكيتين Enumerable و Queryable.

  3. الصفة الديناميكية Enumerable تشمل طرق التوسيع للصفات التي تحقق واجهة IEnumerable <T>.

  4. نوع مجموعة IEnumerable <T> هو مجموعة في ذاكرة النظام، مثل List، Dictionary، SortedList، Queue، HashSet، LinkedList.

  5. الصفة الديناميكية Queryable تشمل طرق التوسيع للصفات التي تحقق واجهة IQutable <T>.

  6. مقدمات البحث عن بُعد قدمت مثل Linq-to-SQL، LINQ-to-Amazon وما إلى ذلك.