Features
All EF roads lead to SQL. My EF Vibe is for teams who use EF Core and still need to see,
test, and gate the SQL their LINQ becomes — REPL, VS Code, scan, and query plans in one workflow
(efvibe).
Interactive REPL
Build your EF project once per session; query with global db. Multiline input, ; to run, Shift+Enter for newlines, command history.
- Translated SQL (
ToQueryString()) and executed SQL from EF logging - Footer metrics: total ms, database ms, command count, rows, materialization hints
- Snippet warnings (N+1 smells, client eval, unbounded
ToList, etc.) :export csv|json,:benchmark,:compare,:chart
Model exploration
:tables — DbSets and row counts:describe <entity> shows properties with PK/FK/column metadata when available.
:dbinfo — provider, connection, EF versionLINQ scan (lite & deep)
Project-wide static analysis of EF-related sources with a review queue, dismissals, and saved notes.
- Lite — heuristics: client-eval, N+1, missing Take, cartesian Include, raw SQL, and more
- Deep — lite rules plus per-call-site translated SQL and EXPLAIN query plans (live database)
- CI —
efvibe scan lite|deep --json --fail-on warning
:scan deep — findings with translated SQL and EXPLAINVS Code extension
Editor-integrated evaluation and scan review (v0.3.1+).
- Run Selection (Shift+Alt+E) —
efvibe serveby default for warm, fast re-runs - Result panel — edit expression, Run, Run Plan, export CSV/JSON, 📋 copy on SQL and plan blocks
- Scan Review — carousel tab after
efvibe scan; Previous/Next, Dismiss, Note, clickable location - Repository snippets —
await,DbContext, and parameters adapted automatically - Read-only guard — blocks mutations from the result panel
Repository snippet adaptation
Paste handler code from your codebase — My EF Vibe prepares it for the REPL:
DbContext/dbContext→db- Strip
await, stub parameters (entraObjectId→Guid.Emptywhen compared toRowguid) - Remove
cancellationToken; convertFirstOrDefaultAsync→ sync terminals
CI/CD & headless CLI
JSON scan output, --about-json, -e --format json, and efvibe serve for editor daemons.