How to Speed Up Read-Only EF Core Queries
Reading data that you don't plan to update?
Consider AsNoTracking().
var products = await context.Products
.AsNoTracking()
.Where(x => x.IsActive)
.ToListAsync();By default, EF Core tracks entities so it can detect changes and persist them later.
For read-only scenarios, that tracking work might not be needed.

AsNoTracking() helps by:
- Avoiding change tracking
- Reducing tracking-related memory usage
- Making the intent of the query explicit
- Working well for API reads and reporting
- Keeping read-only queries focused on reading
If you don't plan to change the entity, consider asking EF Core not to track changes.