Seniorسختی 3 از ۵· در 20٪ مصاحبههای این حوزه پرسیده شده
تفاوت کوئری Tracking و AsNoTracking چیست و کِی از هرکدام استفاده میکنید؟
☆نشان کردنپاسخ کوتاه
در حالت Tracking، EF Core تغییرات Entity را برای SaveChanges بعدی رصد میکند؛ AsNoTracking این سربار را حذف میکند و برای کوئریهای فقطخواندنی سریعتر است.
پاسخ کامل
استفاده از AsNoTracking در اندپوینتهای GET که فقط داده نمایش میدهند و قرار نیست ذخیره شوند، میتواند کارایی را بهطور محسوسی بهبود دهد چون EF Core دیگر نیازی به نگهداشتن نسخهٔ اصلی Entity برای مقایسه ندارد.
مثال کد
csharp\nvar users = await db.Users.AsNoTracking().ToListAsync();\n
