Midسختی 3 از ۵· در 80٪ مصاحبههای این حوزه پرسیده شده
تفاوت IEnumerable و IQueryable از نظر Performance چیست؟
☆نشان کردنپاسخ کوتاه
IEnumerable پردازش را در Memory انجام میدهد؛ IQueryable Query را به Provider مثل SQL منتقل میکند.
پاسخ کامل
وقتی از IQueryable<T> (مثل context.Users) استفاده میشود، فیلترهای LINQ به SQL ترجمه و در دیتابیس اجرا میشوند که برای دادههای حجیم بسیار کارآمدتر است. IEnumerable ابتدا همه داده را میخواند و بعد در Memory برنامه فیلتر میکند.
مثال کد
IQueryable
