Adapdev Technologies, LLC
Software by Sean McCormack and Friends

Home | Projects | About Me | Sean's Blog | Adapdev Blog

Features
Screenshots
Roadmap

With Codus, talking to a database has never been easier!

Example generated code for Northwind Employees table (see documentation for more examples)

// Get the number of records
EmployeesDAO dao = new EmployeesDAO();
int count = dao.GetCount();

// Get all records and print out the Employees first name
EmployeesDAO dao = new EmployeesDAO();
List<EmployeesEntity> employees = dao.SelectAll();
foreach(EmployeesEntity e in employees){
  Console.WriteLine(e.FirstName);
}

// Populate a DataSet
EmployeesDAO dao = new EmployeesDAO();
DataSet employeesDS = dao.SelectAllDS();

// Create a new record and save
EmployeesEntity employee = new EmployeesEntity();
employee.FirstName = "Joe";
employee.LastName = "Schmoe";
// ...etc.

EmployeesDAO dao = new EmployeesDAO();
dao.Save(employee);

Features

Codus is a comprehensive code generation tool for object-relational mapping. It takes an existing database and automatically generates all of the code for updating, deleting, inserting and selecting records. In addition, it creates web services for distributed programming, strongly-typed collections, and a full set of unit tests. Features include:

  • Multiple Database Support
    • MS Sql Server / Sql Server Express
    • Oracle
    • MySql
    • MS Access
  • Connection Wizard
    • Easily build multiple types of connections
    • Generate database specific and OleDb generic connection strings
    • Automatically test connections
    • Store database settings for future use
  • Database Properties Editor
    • View full database schema
    • Select tables for generation
    • Select views for generation
    • Select individual columns for generation
    • Designate columns as primary or foreign keys
    • Modify table or column names
    • Set default values for column mappings (useful for testing)
    • Modify relationships (1-1, 1-n, n-n)
  • Code Generation Options
    • Generation of VS.NET solution and projects with all appropriate references
      • Automatic compilation of all output
    • Generation of NAnt build file
      • Automatic compilation of all output
    • Generation of Data Access Objects (DAO) with rich set of features
      • Automatically creates all object-relational mapping of Table Entities to database data
      • Support for queries using primary key
      • Support for queries using foreign key
      • Support for custom queries
      • Support for local and distributed transactions
      • Constant values for table name, primary key name and column names
      • Automatic retrieval of DB-generated ids
      • Support for generation of MS SQL stored procedures
    • Generation of Table Entities
      • Serializable for distributed applications
      • Child properties for foreign-key relations
    • Generation of Strongly-Typed Collections (IList, IDictionary implementations)
    • Generation of WebServices layer
    • Generation of NUnit tests
    • Generation of Mock objects for testing
    • All generated code contains documentation (for processing w/ NDoc, etc.)
  • Support for NHibernate
    • Use Codus to generate NHibernate mappings, supporting classes and unit tests
  • Template-Driven Output
    • All output is done with NVelocity based templates, based on the Apache Velocity template language
    • Ability to create custom templates or modify current Codus templates
  • Adapdev.NET Integration
    • Generated code is based on the Adapdev.NET Enterprise Framework, providing long-term extensibility and proven, feature-rich functionality

Screenshots


Project Configuration Tab

Database Schema Editor

Database Relationship Editor

Database Sql Editor

Template Configuration Tab

Generation Tab

NAnt Output

VS.NET Output

Here is our current release roadmap. Please note, this timeline can change based on feedback

Item Description
v1.5
ActiveRecord Generation Generate Castle ActiveRecord mappings
v1.6
Elementary Generation Generate Castle ActiveRecord mappings
v2.0
New UI & Improved Architecture Ground up rewrite to provide a more pluggable architecture and improved testing
Customer Templates Support and documentation for custom templates
v2.1
iBatis.NET Generation Generate iBatis.NET mappings
v2.2
Gentle.NET Generation Generate Gentle.NET mappings
vAfter
Template Editor Create an IDE to interactively write templates and view the output
Firebird Support for Firebird
PostgreSQL Support for PostgreSQL
ASP.NET Page Generation Generate a UI to maintain your database
Windows UI Generation Generate a UI to maintain your database