Create Persistent Classes in Separated Assemblies

We recommend putting your persistent classes into their own assemblies that are separated from the accessing code. This is because these classes will be changed by the enhancer. They implement the interface IPersistenceCapable after enhancing, thus getting new methods and properties.

Replacement of IPersistentObject methods by the enhancer

It has turned out to be a good practice to create an empty implementation of IPersistentObject so that Intellisense recognizes the additional properties added by NDO. It doesn't matter how you implement the interface because NDO replaces the implementations.

When you create a class with the NDO Toolbar, an implementation of this interface is automatically generated for you.

However, you only need this implementation once at the root of an inheritance hierarchy. For derived classes, it is recommended that you delete the implementations created by NDO. This is easy, because the implementations are stored in own files with the extension .ndo.cs. Just delete this file and remove the partial keyword in the class declaration.