Telerik blogs

Hi everybody,

My name is Jan Blessenohl and I am working on the new Telerik object relational mapper named OpenAccess ORM. In the next posts I would like to guide you through the first steps with OpenAccess. This post is about reverse engineering. The following posts will use this feature to build running applications.


OpenAccess comes with 2 possible ways to generate the persistent model:

  • Forwad Mapping: Write the persistent classes first and let then OpenAccess generate the database schema.
  • Reverse Engineering: Design the database schema first, let OpenAccess read it and then create all the classes for you.

This step by step guide shows how you can reverse engineer an existing schema to a class library with Visual Studio 2005 or 2008.


Step 1:. Open Visual Studio and create a new class library project (C# or VB)

 Create C# Class Library


Step 2: Select the class library project in the project explorer and start the OpenAccess Enable Project Wizard from the OpenAccess menu (Visual Studio menu bar)


 Enable Project Menu


Dialog 1: Press Next

Enable Project page 1


Dialog 2: Only the Persistent Classes checkbox should be checked, press Next

Enable Project page 2

Dialog 3: You have to specify which database you want to use. To use Northwind from my local Microsoft Sql Server Express instance I have to specify


Database Name: Northwind

Press Next

Enable Project page 3


Dialog 4: Press Finish

Enable Project page 4


Now the project knows how to access the database schema and we can start the reverse engineering step.

Step 3: Start the Reverse Engineering Wizard from the OpenAccess Menu

OpenAccess Reverse Engineering menu

The wizard reads the complete database schema now and generates a default mapping to classes and fields. In the next steps you can configure the class model to fulfill your needs.

Step 4: Set the class names.

Reverse Engineering Wizard simple view

In the first tab you will find all tables in a grid. Here you are able to specify the way a table is mapped. OpenAccess tries to find out if a table should be mapped to a class, collection or map. If the table looks like a join table, we do not map it to a concrete class but to a collection which becomes into a field at the class where the first foreign key reference points to. You can change all these settings. A necessary step is to look if you are happy with the OpenAccess generated class names.

Step 5: Open the Advanced View tab.

Reverse Engineering Wizard advanced view

Decide where you want to have collections in your model. Besides the join tables we are not generating collections by default; only the reference fields are generated. To generate a collection field as the opposite of a reference you have to select the corresponding reference in the tree view and check the 'Create one-to-many list' checkbox. You can specify the names of both the collection and reference.

If everything is right, click the 'Generate & Save Config' Button to start the generation process. The wizard generates source files for all classes, a mapping file (app.config) and the wizards settings file (reversemapping.config) into your class library project.

You are done now and can compile your project. My result can be downloaded here.

The next step is to generate a website or winforms application. I will follow up with posts about it.

Enjoy your firsts steps with OpenAccess as I am doing.

About the Author

Jan Blessenohl

Product Manager,
OpenAccess ORM Team


Comments are disabled in preview mode.