Start here. This is the direct spoken answer to practice first.
Why this matters
Passing request cancellation into EF Core can stop database work that no longer has a caller, reducing wasted connections, CPU, locks, and memory. It remains cooperative and does not make an inefficient query or an uncertain write automatically safe.
I pass CancellationToken to EF Core async methods such as ToListAsync, FirstOrDefaultAsync, and SaveChangesAsync so work can stop when the request no longer matters. If the client disconnects or ASP.NET Core aborts the request, continuing a long read only wastes database and application resources. Cancellation is cooperative and depends on provider and database support, so I still keep queries bounded and efficient.