The term scaffolding has a number of industry specific definitions, including in information technology. In a database context, a scaffolding means creating a basic framework on which you can provide create, read, update and delete (CRUD) functions to allow access to a database through a web application.

The idea behind scaffolding is to make it relatively simple and easy to build a Web application that provides users with full access to relevant databases. According to most sources, the term scaffolding originated from the open source Ruby on Rails web application framework.

In ASP.NET, scaffolding is the Dynamic Data elements that automatically produce Web pages for every table in a database. These Web pages provide the essential create, read, update and delete operations for each table. Scaffolding here includes page templates, entity page templates, field page templates and filter templates. Using these templates, you can quickly and easily create a functional data-driven Web site.  One of the key innovations in Dynamic Data elements scaffolding is using a data model to represent database entities as common language runtime types.

Scaffolding offers a number of benefits including:

  • Minimal code is needed to develop a data-driven Web application
  • Functional Web pages with database CRUD capabilities, sorting, and paging are automatically created
  • Data validation is automatically built in, based on the database schema
  • Creation of data filters for foreign keys, Boolean fields and enumeration field types is automated
  • Multiple customization functions make it simple to change the appearance and behavior of data fields