Forrest logo
back to the dotnet tool

dotnet-ef:tldr:d0f69

dotnet-ef: Generate code for a `DbContext` and entity types for a database.
$ dotnet ef dbcontext scaffold ${connection_string} ${provider}
try on your machine

The command dotnet ef dbcontext scaffold is used in Entity Framework Core to generate C# code for a DbContext based on an existing database schema. It allows you to quickly create a DbContext and entity classes that mirror your database tables, making it easier to work with the database in your application.

Here is the breakdown of the command syntax:

  • dotnet ef: This is the dotnet CLI command for the Entity Framework Core tools.
  • dbcontext scaffold: This is the specific command for scaffolding a DbContext based on an existing database schema.
  • ${connection_string}: This is a placeholder for the connection string of the database you want to scaffold. The connection string should be provided here without any quotes.
  • ${provider}: This is a placeholder for the database provider. It specifies the type of database you are connecting to (e.g., Microsoft.EntityFrameworkCore.SqlServer, Microsoft.EntityFrameworkCore.MySql, etc.). The provider is typically specified as a NuGet package that you have installed in your project.

To use this command, you would replace ${connection_string} with the actual connection string of your database, and ${provider} with the appropriate provider for your database.

For example, to scaffold a DbContext for a SQL Server database with the connection string Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;, and the provider Microsoft.EntityFrameworkCore.SqlServer, you would run the following command:

dotnet ef dbcontext scaffold "Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;" Microsoft.EntityFrameworkCore.SqlServer

This command would generate the necessary C# code for your DbContext and entity classes based on the tables in your database.

This explanation was created by an AI. In most cases those are correct. But please always be careful and never run a command you are not sure if it is safe.
back to the dotnet tool