Tracking thousands of entities slows everything. ✅ Fix context.ChangeTracker.QueryTrackingBehavior = NoTracking; Or per query: .AsNoTracking()
Category: Entity Framework
Stop Calling ToList() Too Early – Improve LINQ Performance
Calling ToList() too early forces premature execution. // Bad var items = db.Users.ToList().Where(…); // Good var items = db.Users.Where(…).ToList(); Let the database handle filtering and execution.
How to get rows count in EntityFramework without loading contents
Query syntax: var count = (from t in context.MyTable where t.Id == @Id select t).Count(); Method syntax: var count = context.MyTable .Where(t => t.Id == @Id) .Count() Both generate the same SQL query.

