Knight Data Access Layer
Everything Is Automatic

Automatic Object Relational Mapping

Objects and relationships are automatically mapped to tables without any need for mapping files or configuration.  Primary keys are automatically created.  Foreign key constraints and indexes are automatically created for parent and child tables. The default mapping behaviors can be overridden with code, mapping files, or attributes. 

 

Automatic Query and Stored Procedure Mapping

Results from queries and stored procedures are automatically mapped to types without any mapping files or configuration.

 

Code First Database Synchronization

Knight Data Access Layer is the first to offer automatic table creation and column synchronization.  Simply execute the Setup command and the database is created, the tables are created, and the columns are synchronized.  If a column is added in a class it will automatically be added to the table.

 

Combined LINQ Provider

Easily retrieve records from your database using Language Integrated Query.  A combined LINQ provider works with SQL Server, MS Access, Oracle, Firebird, VistaDB, Sqlite, MySQL, and PostgreSQL.  The mapping is completely automatic.

 

Support for IsNew, IsDirty, IsDeleted

When saving a large list of records, Knight Data Access Layer will only save items in the list that have IsNew or IsDirty equal to true.  If no property is declared it is assumed the object needs to be saved.  If IsDeleted is true for an item in a list, it will delete the associated record in the database and the item will be removed from the list.

 

Default Values

Even if the database you are using does not support default values, Knight Data Access Layer can fill in default values on insert.

 

Maintenance Fields

Properties such as CreateDate, UpdateDate, CreateUser, UpdateUser, MachineName will be automatically filled in before saving.