Seniorسختی 4 از ۵· در 78٪ مصاحبههای این حوزه پرسیده شده
تفاوت IEnumerable و IQueryable چیست؟
☆نشان کردنپاسخ کوتاه
IEnumerable کوئری را در حافظه (Client) اجرا میکند؛ IQueryable کوئری را به منبع داده منتقل و آنجا اجرا میکند.
پاسخ کامل
با IQueryable فیلترها و شرطها به SQL ترجمه و در دیتابیس اجرا میشوند (کارآمدتر برای داده حجیم)، در حالی که IEnumerable ابتدا همه داده را میخواند و بعد در حافظه برنامه فیلتر میکند.
اشتباه رایج
❌ استفاده از .ToList() زودهنگام روی یک IQueryable قبل از اعمال فیلترها — کل داده از دیتابیس خوانده میشود.
