
API مربوط به LINQ در .NET
ما می توانیم برای کلاس هایی که اینترفیس IEnumerable و یا IQueryable را پیادهسازی کرده اند، کوئری LINQ بنویسیم. فضای نام System.Linq شامل کلاس ها و اینترفیس های زیر است که برای نوشتن کوئری LINQ استفاده می شوند.

کوئری های LINQ از Extension Method ها برای کار بر روی کلاس هایی که اینترفیس IEnumerable یا IQueryable را پیادهسازی کرده اند، استفاده می کنند. Extension Method های مربوط به LINQ در دو کلاس استاتیک Enumerable و Queryable تعریف شده اند. در ادامه این دو کلاس را بیشتر بررسی می کنیم.
کلاس Enumerable
این کلاس همانطور از اسم آن نیز مشخص است، شامل متدهای افزودنی برای کلاس هایی است که اینترفیس IEnumerableرا پیادهسازی کرده باشند. برای مثال تمام کلاس های built-in مربوط به مجموعه ها یا کالکشن ها این اینترفیس را پیادهسازی کرده اند بنابراین می توانیم برای بازیابی اطلاعات از آن ها از LINQ استفاده کنیم. در تصویر زیر متدهای افزودنی موجود در کلاس Enumerable را مشاهده می کنید:

کلاس Queryable
این کلاس شامل متدهای افزودنی برای کلاس هایی است که اینترفیس IQueryable را پیادهسازی کرده باشند. این اینترفیس به منظور فراهم کردن قابلیت کوئری زدن بر روی منبع داده خاص که در آن ها نوع داده مشخص است، استفاده می شوند. برای مثال فریم ورک Entity Framework از این اینترفیس استفاده می کند تا امکان کوئری زدن با LINQ بر روی دیتابیس MS SQL Server را فراهم کند. در تصویر زیر متدهای افزودنی موجود در کلاس Queryable را مشاهده می کنید:

هیچ نظری ثبت نشده است