REPL

The global scripting variable is db — your active DbContext instance.

Input

Commands

CommandDescription
:helpCommand list
:aboutVersion and session paths
:tablesDbSets and row counts
:describe <entity>Entity property sheet
:dbinfoProvider, connection, server version
:dblogToggle SQL logging (sql-only or verbose)
:planEXPLAIN on last SQL
:scan lite / :scan deepProject LINQ scan
:statsSession evaluation statistics
:export csv|jsonExport last result
:benchmark [N]Run last snippet N times (default 5); min/avg/max/p95
:compare setSet baseline for comparison
:compareDiff baseline vs last run, or multi-variant group after #[Compare]
:compare clearClear baseline and compare group
:chart compare|benchmark|breakdownASCII timing charts
:resetClear script variables (db unchanged)
:quitExit

Script attributes

Instead of :compare or :benchmark, use attribute lines in a script. They work in the REPL, efvibe -e, and efvibe serve eval (including Studio Run all).

#[Compare("With tracking")]
db.Products.OrderBy(p => p.Name).Take(10).ToList();

#[Compare("No tracking")]
db.Products.AsNoTracking().OrderBy(p => p.Name).Take(10).ToList();

#[Benchmark(10)]
db.Products.AsNoTracking().Count();

See features.md for full syntax.

REPL session

Session files

Under <workspace>/<ProjectName>/<DbContextName>/: