Knight Data Access Layer
Overview

Knight Data Access is an ORM (Object Relational Mapper), SQL to Entity Mapper, a LINQ provider, an ADO.NET Wrapper, a database generator, and a class generator.  It is compatible with SQL Server, Oracle, MySQL, Firebird, MS Access, VistaDB, Sqlite, PostgreSQL, or any OLEDB or ODBC compliant database.

 

 

Code First Approach

If you like to create your classes first and then create your database from your model, you can certainly do that.  Manually create your C# and VB.NET classes in your project and then execute the Setup("Namespace").  The Setup command is very powerful, it will create the database if it does not already exist, and then create all tables for all classes in a namespace.  If the table already exists, missing columns will be added.  All with one line of code!

 

Database First Approach

If you like to create your database first and create your the classes in your project from the database; you can certainly do that.  Create your database and then execute a CreateClassFromTable for each class you would like to create.  You can get a list of tables in the database by doing a GetDatabaseTables

 

No Approach

If you need to rapidly build a proof of concept application for your boss; classes do not need to be created at all.  Knight Data Access Layer can retrieve a table into a DataTable that can be easily bound to a grid or it can return a simple dictionary that can be used.  See the FillDataTable, LoadOne, and Load methods.