What is NDO?

NDO is a development tool for object relational mapping (OR-Mapping) on the Microsoft .NET platform. It is based completely on ADO.NET. With the help of NDO, persistent classes can be created. Their instances are stored transparently in a relational database; no special code is needed for that. All persistence functionality is created by an Enhancer after compilation in the target assembly. The Enhancer is invoked as part of the MSBuild process. As such it can be used in automated builds.

A mapping file in XML format defines the mapping of classes to database tables and fields to database columns. By changing this file you can adapt the mapping without recompilation. If a new assembly is created, the Enhancer creates a new mapping file with entries complying with certain naming standards. This file can be easily aligned to the actual requirements of your target database.

NDO shows some similarities to the JDO standard in the Java world. But there are major differences too. NDO is kept much simpler than the JDO standard. This is partly because of the powerful ADO.NET functionality below NDO. There is no need to implement things like transaction management in the NDO layer, since this is accomplished by ADO.NET. Another difference is the use of .NET custom attributes, which allow easy and efficient control of the persistence behavior in any .NET language.