See every query
Inspect the SQL produced by your LINQ and catch N+1 behavior where it starts.
EF Core exercises on real PostgreSQL
Write LINQ and SQL in the browser, run it against realistic data, and see what the database actually did. Katabench grades results, round trips, generated SQL, and execution plans across 130 database coding challenges.
The database tells the truth
A query can return exactly the expected data and still scan every row, make forty round trips, or pull the table into memory. The result alone cannot teach you that. The generated SQL and the plan can.
The obvious filter
.Where(o => o.PlacedAt.Year == 2024 && o.PlacedAt.Month == 3)
Sort (by id)
└ Seq Scan on orders
~60,000 rows · ⚠ full table read
✗ 1 / 3 plan rules hold
The sargable rewrite
.Where(o => o.PlacedAt >= start && o.PlacedAt < end)
Sort (by id)
└ Index Scan using ix_orders_placed_at
~1,017 rows · ✓
✓ 3 / 3 plan rules hold
Same rows returned. Same green tests. Only one earns the index scan, and the grade.
Inspect the SQL produced by your LINQ and catch N+1 behavior where it starts.
Expand the captured PostgreSQL plan and see scans, index use, cost, and row estimates.
A challenge can require one round trip, forbid a full-table scan, or demand index use.
See the mechanics in the grading guide, then study the classic failure in the EF Core N+1 guide.
High-Performance Data Access
Open practice lets you choose from the full database catalog. The guided path orders 19 exercises so each relational idea supports the next one.
01
4 exercisesStop fetching rows and fixing the result in application memory.
02
4 exercisesMake grouping, totals, and rankings happen in one round trip.
03
4 exercisesPractice the same relational ideas without an ORM between you and the plan.
04
4 exercisesWrite predicates and ordering that line up with the available access path.
05
3 exercisesFinish with reporting patterns that stay set-based as requirements grow.
Built for working developers
The goal is not to memorize one EF Core method. It is to look at a LINQ expression and predict where filtering happens, how many times the application crosses the network, and whether the available index can satisfy the access pattern.
That judgment transfers from one ORM version to the next. Katabench gives you enough focused attempts, and enough evidence after each one, to turn it into a reflex.
A typical practice loop
EF Core practice FAQ
Yes. Database challenges run against PostgreSQL with seeded data. Katabench captures the SQL and execution plan produced by the submission instead of simulating database behavior.
The catalog covers server-side filtering and projection, joins, aggregates, round trips, query shaping, sargable predicates, index use, pagination, raw SQL, and related data-access patterns.
No. You write the solution in the browser, and Katabench compiles and runs it with the seeded database in an isolated server-side environment.
Yes. High-Performance Data Access orders 19 exercises from query shaping through plans, indexes, SQL, and analytical queries. It is included with Pro.
New to query shaping? Start with the ordered LINQ exercises. Looking for broader practice? Browse all C# coding challenges across performance, refactoring, architecture, security, and testing.
Follow 19 ordered exercises through LINQ, SQL, query plans, and indexes, with real PostgreSQL feedback on every submission.
Explore High-Performance Data AccessA short note when fresh kata land, plus the C# and performance tricks behind the grading. No spam, unsubscribe anytime.