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.
Results from queries and stored procedures are automatically mapped to types without any mapping files or configuration.
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.
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.
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.
Even if the database you are using does not support default values, Knight Data Access Layer can fill in default values on insert.
Properties such as CreateDate, UpdateDate, CreateUser, UpdateUser, MachineName will be automatically filled in before saving.