This project is read-only.

NDatabase Overview

  • NDatabase is a new generation Object Oriented Database. NDatabase is a real transparent persistence layer that allows anyone to persist native .net objects with a single line of code.
  • NDatabase can be used as an embedded database engine that can be seamlessly integrated to any product as an embedded database.


  • NDatabase is very simple and intuitive: the learning time is very short. Have a look at the NDatabase one minute tutorial to check this. The API is simple and does not require learning any mapping technique. There is no need for mapping between the native objects and the persistence store.
  • NDatabase simply stores objects the way they are.
  • NDatabase requires zero administration and zero installation.


  • The NDatabase runtime is less than 400kb and is distributed as a single dll that can easily be packaged in any type of .net application.

Safe and Robust

  • NDatabase supports ACID transactions to guarantee data integrity of the database. All committed work will be applied to the database even in case of hardware failure. This is done by automatic transaction recovery on the next startup.

One single database file

  • NDatabase uses a single file to store all data:
    • The Meta-model
    • The objects
    • The indexes


  • NDatabase lets you persist data with a very few lines of code. There is no need to modify the classes that must be persisted and no mapping is needed. So developers can concentrate on business logic implementation instead of wasting time with the persistence layer.

Easy to integrate

  • The only requirement to use NDatabase is to have a single dll on the application path.

Linq support with LinqPad driver

  • Use linq as your query language. View your NDatabase data with last version of LinqPad.


  • NDatabase currently supports 4 types of triggers:
    • Select trigger (after)
    • Insert trigger (before, after)
    • Delete trigger (before, after)
    • Update trigger (before, after)


  • NDatabase supports field named indexes based on B-Trees which is accessible by NDatabase API.


  • NDatabase currently supports 4 types of refactoring:
    • Adding a new field (via API)
    • Removing a field (via API)
    • Rename a class (via API)
    • Rename a field (via API)


  • NDatabase is using widely embedded logger. You can write plug-in to use any external logger
    • Sample for log4net is here


  • Well-known Northwind database available as object database.


  • NDatabase is distributed under the LGPL license.

Last edited Dec 29, 2012 at 9:02 AM by jacek, version 12


No comments yet.