Midسختی 4 از ۵· در 82٪ مصاحبههای این حوزه پرسیده شده
تفاوت IEnumerable و IQueryable چیست؟
☆نشان کردنپاسخ کوتاه
IEnumerable روی دادههای موجود در Memory کار میکند؛ IQueryable Query را به منبع داده مثل SQL Server منتقل میکند.
پاسخ کامل
با IEnumerable، دادهها ابتدا کامل از منبع خوانده و سپس در Memory برنامه فیلتر میشوند. با IQueryable، شرطهای LINQ به Expression Tree تبدیل و به منبع داده (مثلاً دیتابیس) منتقل میشوند تا فقط داده موردنیاز واکشی شود.
اشتباه رایج
❌ فراخوانی زودهنگام ToList() روی یک IQueryable قبل از اعمال فیلترها که باعث خواندن کل داده از دیتابیس میشود.
