Entity Framework Core: Scaffold DbContext
This command generates code for a DbContext
and entity types from the selected database. To generate each entity type using this command, the corresponding database table must have a primary key.
Under the hood, JetBrains Rider will apply the dotnet ef dbcontext scaffold
command with the corresponding arguments. Make sure that dotnet ef
global tool is installed on your machine.
Do one of the following:
Right-click the desired project in the Solution Explorer and choose
.Select
from the main menu.
A dialog will appear where you can specify all necessary options.
In the dialog, specify options for updating the database. By default, JetBrains Rider saves the options from previous invocations of EF Core commands and automatically fills most of the fields . If you want to disable this, clear the Autofill general options (for fields with non-sensitive information) and Autofill additional options (for connection strings and related options) checkboxes on the Tools | EF Core UI settings page Ctrl+Alt+S.
Click OK to apply the command. JetBrains Rider will execute the
ef core dbcontext scaffold
command with the corresponding arguments.By default, the command output will be displayed in a new tab of the EF Core tool window. If you prefer to see the command progress in the status bar and the results of the command in a popup, clear the Execute commands in terminal checkbox on the Tools | EF Core UI settings page Ctrl+Alt+S.
Below is the list of options for the Scaffold DbContext command.
Common | |
Connection | Select the source database. You can choose from databases added to the Database window Ctrl+W, X. |
Provider | The provider to use. Typically, this is the name of the NuGet package, for example, |
Migrations project | The project where the command will be applied. If you have invoked the command from the context menu of a specific project, this project will be preselected. |
Startup project | Project to be run when you start your application, containing the entry point or startup logic (like the |
Additional Options | |
Output folder | The folder where the migration classes will be generated. |
Use attributes to generate the model | Where possible, use attributes to configure the model. Otherwise, only the fluent API is used. |
Use database names | Use table, view, sequence, and column names exactly as they appear in the database. Otherwise, database names can be changed according to the C# name style conventions. |
Generate OnConfiguring method | By default, the command creates the |
Use the pluralizer | Automatically pluralize entity class names and |
Build Options | |
Skip project build process | Use this option when the build is up to date. Although this option reduces the execution time of the command, it may also be a source of potential problems if the project has not been built before running the command. |
Build configuration | Build configuration of the startup project, for example, |
Target framework | Target runtime to restore packages for when building the startup project. |
Execution | |
Enable diagnostic logging | Show verbose output if the Execute commands in terminal checkbox is enabled on the Tools | EF Core UI settings page Ctrl+Alt+S. |
Additional arguments | Any additional arguments to pass to the application. |
Generated DbContext name | Name of the generated |
Generated DbContext folder | Directory where the generated |
By default, the command uses all tables from the database for generating entity types. To use only specific tables, clear the Scaffold all tables and add the desired tables manually.
By default, the command uses all schemas from the database for generating entity types. To use only specific schemas, clear the Scaffold all schemas and add the desired schemas manually.