-
Notifications
You must be signed in to change notification settings - Fork 224
Home
Simon Hughes edited this page Mar 20, 2026
·
43 revisions
The generator creates Entity Framework Code First classes by reverse-engineering existing databases. It produces code as if an expert reverse-engineered your database and wrote it for you.
- Generates POCO classes, configuration mappings, and enumerations
- Creates DbContext and FakeDbContext for unit testing
- Supports stored procedures and table-valued functions
- Fully customizable output via callbacks and delegates
- Available as a VSIX installer from the Visual Studio Marketplace
- Supports multiple output file organization strategies (sub-folders, namespaces)
If you like or are using this project, please give it a star. Thanks!
| Database | Status |
|---|---|
| SQL Server | Fully supported |
| SQL Server CE | Fully supported |
| SQLite | Fully supported |
| PostgreSQL | Fully supported |
| MySQL | Under development |
| Oracle | Under development |
| Plugin | Via custom DLL |
| EF Version | Template Type | Generator Type |
|---|---|---|
| EF 6 | TemplateType.Ef6 |
GeneratorType.Ef6 |
| EF Core 8 | TemplateType.EfCore8 |
GeneratorType.EfCore |
| EF Core 9 | TemplateType.EfCore9 |
GeneratorType.EfCore |
| EF Core 10 | TemplateType.EfCore10 |
GeneratorType.EfCore |
- Visual Studio 2022 or later
- Relevant NuGet packages:
- .NET Core:
Microsoft.EntityFrameworkCore.SqlServer(or provider for your database) - EF 6:
EntityFramework
- .NET Core:
- A connection string pointing to your database
- Database credentials with
ddladmin,datareader, anddatawriterprivileges
- Install the VSIX extension from the Visual Studio Marketplace
- Right-click your project → Add New Item
- Search for "reverse poco" in online templates
- Name the file (e.g.,
Database.tt) and click Add - Edit the connection string and settings
- Save the file —
Database.cs(and related files) are generated automatically
Settings.DatabaseType = DatabaseType.SqlServer;
Settings.TemplateType = TemplateType.EfCore10;
Settings.GeneratorType = GeneratorType.EfCore;
Settings.UseMappingTables = false;
Settings.FileManagerType = FileManagerType.EfCore;Settings.DatabaseType = DatabaseType.SqlServer;
Settings.TemplateType = TemplateType.EfCore9;
Settings.GeneratorType = GeneratorType.EfCore;
Settings.UseMappingTables = false;
Settings.FileManagerType = FileManagerType.EfCore;Settings.DatabaseType = DatabaseType.SqlServer;
Settings.TemplateType = TemplateType.EfCore8;
Settings.GeneratorType = GeneratorType.EfCore;
Settings.UseMappingTables = false;
Settings.FileManagerType = FileManagerType.EfCore;Settings.DatabaseType = DatabaseType.SqlServer;
Settings.TemplateType = TemplateType.Ef6;
Settings.GeneratorType = GeneratorType.Ef6;
Settings.UseMappingTables = true;
Settings.FileManagerType = FileManagerType.VisualStudio;- Free for academic use (.edu or .ac email addresses)
- Commercial license required for commercial use — purchase at reversepoco.co.uk
- Generated code remains usable indefinitely even if the licence expires
- With an expired licence, generation is limited to 10 tables/views and 10 stored procedures
See How to Get Your Pull Request Accepted for contribution guidelines.
Contact: simon@reversepoco.co.uk
