Click to add item 'UST 10' Steel Industrial-Grade Scaffold Tower - 2000 lb. Capacity' to the compare list. Scaffold Bench 6 ft. Multi-Purpose 4-in-1 Scaffold 1100 lbs. Load Capacity This multi-use scaffold is great for any This multi-use scaffold is great for any job that requires working at heights. It can be used as 1- a scaffolding unit. Welcome to Scaffoldmart. On this website you will find extremely high quality scaffolding. Quality that rivals anyone. At pricing that is the lowest in the country. We carry one of the largest inventories in the country, about 30,000 to 40,000 frames at any given time. We’ve got a website that’s easy to use, go ahead and look around.
-->Reverse engineering is the process of scaffolding entity type classes and a DbContext class based on a database schema. It can be performed using the Scaffold-DbContext
command of the EF Core Package Manager Console (PMC) tools or the dotnet ef dbcontext scaffold
command of the .NET Command-line Interface (CLI) tools.
Installing
Before reverse engineering, you'll need to install either the PMC tools (Visual Studio only) or the CLI tools. See links for details.
You'll also need to install an appropriate database provider for the database schema you want to reverse engineer.

Connection string
The first argument to the command is a connection string to the database. The tools will use this connection string to read the database schema.
How you quote and escape the connection string depends on which shell you are using to execute the command. Refer to your shell's documentation for specifics. For example, PowerShell requires you to escape the $
character, but not .
Configuration and User Secrets
If you have an ASP.NET Core project, you can use the Name=<connection-string>
syntax to read the connection string from configuration.
This works well with the Secret Manager tool to keep your database password separate from your codebase.
Provider name
The second argument is the provider name. The provider name is typically the same as the provider's NuGet package name.
Specifying tables
Scaffold Store
All tables in the database schema are reverse engineered into entity types by default. You can limit which tables are reverse engineered by specifying schemas and tables.
The --schema
option can be used to include every table within a schema, while --table
can be used to include specific tables.
To include multiple tables, specify the option multiple times:
The -Schemas
option can be used to include every table within a schema, while -Tables
can be used to include specific tables.
To include multiple tables, use an array:
Preserving names
Table and column names are fixed up to better match the .NET naming conventions for types and properties by default. Specifying the -UseDatabaseNames
switch in PMC or the --use-database-names
option in the .NET Core CLI will disable this behavior preserving the original database names as much as possible. Invalid .NET identifiers will still be fixed and synthesized names like navigation properties will still conform to .NET naming conventions.
Fluent API or Data Annotations
Entity types are configured using the Fluent API by default. Specify -DataAnnotations
(PMC) or --data-annotations
(.NET Core CLI) to instead use data annotations when possible.
For example, using the Fluent API will scaffold this:
While using Data Annotations will scaffold this:
DbContext name
The scaffolded DbContext class name will be the name of the database suffixed with Context by default. To specify a different one, use -Context
in PMC and --context
in the .NET Core CLI.
Directories and namespaces
The entity classes and a DbContext class are scaffolded into the project's root directory and use the project's default namespace.
You can specify the directory where classes are scaffolded using --output-dir
, and --context-dir
can be used to scaffold the DbContext class into a separate directory from the entity type classes:
By default, the namespace will be the root namespace plus the names of any subdirectories under the project's root directory. However, from EFCore 5.0 onwards, you can override the namespace for all output classes by using --namespace
. You can also override the namespace for just the DbContext class using --context-namespace
:
Home Depot Scaffolding For Sale
You can specify the directory where classes are scaffolded using -OutputDir
, and -ContextDir
can be used to scaffold the DbContext class into a separate directory from the entity type classes:
By default, the namespace will be the root namespace plus the names of any subdirectories under the project's root directory. However, from EFCore 5.0 onwards, you can override the namespace for all output classes by using -Namespace
. You can also override the namespace for just the DbContext class using -ContextNamespace
.
How it works
Reverse engineering starts by reading the database schema. It reads information about tables, columns, constraints, and indexes.

Next, it uses the schema information to create an EF Core model. Tables are used to create entity types; columns are used to create properties; and foreign keys are used to create relationships.
Finally, the model is used to generate code. The corresponding entity type classes, Fluent API, and data annotations are scaffolded in order to re-create the same model from your app.
Limitations
- Not everything about a model can be represented using a database schema. For example, information about inheritance hierarchies, owned types, and table splitting are not present in the database schema. Because of this, these constructs will never be reverse engineered.
- In addition, some column types may not be supported by the EF Core provider. These columns won't be included in the model.
- You can define concurrency tokens, in an EF Core model to prevent two users from updating the same entity at the same time. Some databases have a special type to represent this type of column (for example, rowversion in SQL Server) in which case we can reverse engineer this information; however, other concurrency tokens will not be reverse engineered.
- The C# 8 nullable reference type feature is currently unsupported in reverse engineering: EF Core always generates C# code that assumes the feature is disabled. For example, nullable text columns will be scaffolded as a property with type
string
, notstring?
, with either the Fluent API or Data Annotations used to configure whether a property is required or not. You can edit the scaffolded code and replace these with C# nullability annotations. Scaffolding support for nullable reference types is tracked by issue #15520.
Customizing the model
The code generated by EF Core is your code. Feel free to change it. It will only be regenerated if you reverse engineer the same model again. The scaffolded code represents one model that can be used to access the database, but it's certainly not the only model that can be used.
Customize the entity type classes and DbContext class to fit your needs. For example, you may choose to rename types and properties, introduce inheritance hierarchies, or split a table into to multiple entities. You can also remove non-unique indexes, unused sequences and navigation properties, optional scalar properties, and constraint names from the model.

You can also add additional constructors, methods, properties, etc. using another partial class in a separate file. This approach works even when you intend to reverse engineer the model again.
Updating the model
After making changes to the database, you may need to update your EF Core model to reflect those changes. If the database changes are simple, it may be easiest just to manually make the changes to your EF Core model. For example, renaming a table or column, removing a column, or updating a column's type are trivial changes to make in code.
More significant changes, however, are not as easy to make manually. One common workflow is to reverse engineer the model from the database again using -Force
(PMC) or --force
(CLI) to overwrite the existing model with an updated one.
Another commonly requested feature is the ability to update the model from the database while preserving customization like renames, type hierarchies, etc. Use issue #831 to track the progress of this feature.
Warning
If you reverse engineer the model from the database again, any changes you've made to the files will be lost.
Scaffolding
Overview
- Working Safely with Scissor Lifts. OSHA Hazard Alert (Publication 3842), (2016).
- Ladder Jack Scaffolds - Supported Scaffolds. OSHA Fact Sheet (Publication 3857), (2016).
- Tube and Coupler Scaffolds - Planning and Design. OSHA Fact Sheet (Publication 3760), (November 2014).
- Tube and Coupler Scaffolds - Erection and Use. OSHA Fact Sheet (Publication 3759), (November 2014).
- Narrow Frame Scaffolds. OSHA Fact Sheet (Publication 3722), (April 2014).
- Scaffolding. OSHA eTool. Provides illustrated safety checklists for specific types of scaffolds. Hazards are identified, as well as the controls that keep these hazards from becoming tragedies.
- Construction. OSHA eTool. Contains information that helps workers identify and control the hazards that cause the most serious construction-related injuries.
- Improper Scaffold Construction. Helps workers identify and control the hazards that cause the most serious scaffold-related injuries.
- Shipyard Employment. OSHA eTool. Shipyard work has traditionally been hazardous, with an injury-accident rate more than twice that of construction and general industry. OSHA has targeted the industry in its Strategic Plan to reduce injuries and illnesses and prevent fatalities.
- Scaffolds (Staging). Provides general requirements for all scaffolds AND also includes information on specific types of scaffolding.
- Aerial Lifts. Replaces traditional shipyard scaffolding.
The Bureau of Labor Statistics' Census of Fatal Occupational Injuries (CFOI) reported 61 fatalities occurred in the year 2018 from scaffolds, staging.1 All of these can be controlled by compliance with OSHA standards.
Standards
Scaffolding is addressed in specific OSHA standards for general industry, maritime, and construction.
Construction
Provides construction related information.

Hazards and Solutions
Provides references that aid in recognizing scaffolds and the hazards associated with scaffolding in the workplace.
Additional Resources
Provides links and references to additional resources related to scaffolding.
- Working Safely with Scissor Lifts. OSHA Hazard Alert (Publication 3842), (2016).
- Ladder Jack Scaffolds - Supported Scaffolds. OSHA Fact Sheet (Publication 3857), (2016).
- Tube and Coupler Scaffolds - Planning and Design. OSHA Fact Sheet (Publication 3760), (November 2014).
- Tube and Coupler Scaffolds - Erection and Use. OSHA Fact Sheet (Publication 3759), (November 2014).
- Narrow Frame Scaffolds. OSHA Fact Sheet (Publication 3722), (April 2014).
- Scaffolding. OSHA eTool. Provides illustrated safety checklists for specific types of scaffolds. Hazards are identified, as well as the controls that keep these hazards from becoming tragedies.
- Construction. OSHA eTool. Contains information that helps workers identify and control the hazards that cause the most serious construction-related injuries.
- Improper Scaffold Construction. Helps workers identify and control the hazards that cause the most serious scaffold-related injuries.
- Shipyard Employment. OSHA eTool. Shipyard work has traditionally been hazardous, with an injury-accident rate more than twice that of construction and general industry. OSHA has targeted the industry in its Strategic Plan to reduce injuries and illnesses and prevent fatalities.
- Scaffolds (Staging). Provides general requirements for all scaffolds AND also includes information on specific types of scaffolding.
- Aerial Lifts. Replaces traditional shipyard scaffolding.
1Fatal occupational injuries due to falls to a lower level, 2011-2018
