ErikEJ / EFCorePowerTools

Entity Framework Core Power Tools - reverse engineering, migrations and model visualization in Visual Studio & CLI
MIT License
2.19k stars 298 forks source link
dbcontext dotnet entity-framework entity-framework-core hacktoberfest model-visualization sql-server visual-studio visual-studio-extension

EF Core Power Tools

Reverse engineering and model visualization tools for EF Core in Visual Studio 2022 - and reverse engineering from command line.

Aims to lower the bar for getting started with EF Core, by providing GUI based assistance with reverse engineering of an existing database and visualizing your DbContext model.

Visual Studio Marketplace Rating Visual Studio Marketplace Downloads Twitter Follow

Quick Start and 10 minute intro video

Demo video - Introduction

Demo video - Advanced features

EF Core Power Tools presentation

My tools and utilities for embedded database development

The tool and GitHub based support is free, but I would be very grateful for a rating or review here, and I also appreciate sponsorships

Documentation

Reverse Engineering Quick Start

User guide

Release notes

Downloads/builds

Requirements

.NET Framework 4.8 or later is required. For EF Core reverse engineering, the .NET 6.0 or .NET 8.0 x64 runtime must be installed.

Release

Download the latest version of the Visual Studio extension from Visual Studio MarketPlace

Or simply install from the Extensions dialog in Visual Studio.

I have also published EF Core Power Pack which includes some helpful DDEX providers as well as EF Core Power Tools.

Daily build

You can download the daily build from Open VSIX Gallery

Ensure you always have the latest daily build (if you are brave) by installing this extension

EF Core Power Tools CLI - efcpt

If you do not use Visual Studio, but for example Visual Studio Code, a cross platform dotnet tool for reverse engineering is available, more information here

Related NuGet packages

ErikEJ.EntityFrameworkCore.DgmlBuilder

Adds the AsDgml() extension method to any derived DbContext. The method will create a DGML graph of your DbContext Model, that you can then view in the Visual Studio DGML viewer

ErikEJ.EntityFrameworkCore.SqlServer.Dacpac

Reverse engineer a SQL Server .dacpac with the EF Core tooling

ErikEJ.EntityFrameworkCore.SqlServer.SqlQuery

Materialize abritary classes and scalar values from EF Core using raw SQL

How do I contribute

If you encounter a bug or have a feature request, please use the Issue Tracker. The project is also open for pull requests following standard pull request guidelines

Building and debugging

To build and debug, run latest version of Visual Studio as Administrator with the "Visual Studio extension development workload" installed. Make EFCorePowerTools the startup project, and ensure your build configuration is Debug, AnyCPU.

You can smoke test changes to reverse engineering. Launch one of the efreveng console apps in the debugger using the name of a file in the TestFiles folder as parameter.

In the ScaffoldingTester solution there are scripts to populate Northwind and Chinook databases with the required objects.

Sponsors

A massive thanks to AWS, who sponsors EFCorePowerTools from January 2024 via the .NET on AWS Open Source Software Fund.

And a huge thanks to everyone who sponsors this project through Github sponsors.