Start here. This is the direct spoken answer to practice first.
Why this matters
Projection lets the database return only the shape an API needs. It reduces transferred columns and tracking overhead while keeping response contracts separate from persistence entities.
A projection selects only the fields I need, often into a DTO or anonymous shape. Loading full entities brings all mapped fields and may also bring related data depending on the query. For read-only API responses, projections are often better because the API usually needs a response shape, not the full database entity. This can reduce data transfer, memory, and tracking overhead.