# Query Pipeline

> Implementation details for EF Core LINQ query translation, SQL generation, and bulk operations (ExecuteUpdate/ExecuteDelete). Use when changing expression visitors, SqlExpressions, QuerySqlGenerator, ShaperProcessingExpressionVisitor, UpdateExpression, DeleteExpression, or related classes.

- Skill: `dotnet/query-pipeline` (Agent Skill)
- Install (CLI): `npx skillmds@latest add dotnet/query-pipeline`
- Raw SKILL.md: https://api.skillmd.com/api/skills/dotnet/query-pipeline/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: DevOps & Infra
- Author: .NET (Microsoft) (https://skillmd.com/u/dotnet)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/dotnet/query-pipeline

---


# Query Pipeline

## Stages

1. **Preprocessing**
2. **Translation**
3. **Postprocessing**
4. **Compilation**
5. **SQL Generation**

## Validation

- `ToQueryString()` shows generated SQL without executing
- `ExpressionPrinter` dumps expression trees at any pipeline stage
- SQL baselines verified via `AssertSql()` in provider functional tests and the generated SQL corresponds to the LINQ query in the base method

