ORM
ORM is an acronym for object-relational mapping which is a way in which data types in one system can be represented in another using object oriented programming. Common ORM solutions in modern server-side programming include NHibernate and Entity Framework.
WireBootstrap has an ORM solution built on top of it's base query features that creates Typescript classes, interfaces, and enums from tables, views, and stored procedures inside a database, data service, or other data connector end-point. The resulting TypeScript classes allow CRUD operations such as reading, writing, deleting, and updating these objects directly from JavaScript.
The WireBootstrap Query Service uses the WireBootstrap ORM solution for Microsoft SQL Server. It contains a TSQL script that can be run against a database that creates an ORM file. The ORM file can then be added to TypeScript projects in order to program against the SQL objects directly from code.
The files needed for this solution are installed in the \orm
directly off of the WireBootstrap Query Service installation root.
This pages uses the Northwind sample database for illustration purposes.
DataSource
Before creating an ORM file, be sure a WireBootstrap DataSource object is available to be used by the objects in the ORM to make calls to the query service. See Service Provider for setting the data source configuration Provider
attributes when working with the query service.
SQL Script
In order to generate the TypeScript objects needed for a database ORM, a SQL script needs to be run from SQL Server Management Studio (SSMS) or other SQL Server IDE. The script is located at \orm\wire-mssql-orm.sql
inside the installation root.
Script Variables
Once the script is opened in SSMS, three inputs are needed at the top of the SQL Script. These are described below.
Input
Description
Database Name
Replace %DatabaseName% with the name of the database in SQL Server. This is used once in the use
statement to set the database current for the execution of the script.
DataSource Name
Replace %DataSourceName% with the name of the WireBootstrap wire.data.DataSource
object that will be used to connect to the database in the target project.
DataSource Full Path
Replace %DataSourceFullPath% with the full path to the module file containing the object in %DataSourceName%.
Running the Script
Once the replacements are complete, the script can be executed. The script will create the contents of the ORM file by printing the output to the Messages tab as seen below.
ORM File
Once the script has finished running, the contents of the Message tab can be copy and pasted into an empty TypeScript file.
For details on how to use the ORM classes in projects, visit WireBootstrap ORM.
Last updated