Friendly API

Besides helping to edit and bind data to templates N2 also makes it very easy to define content and do stuff with it programmatically.

Defining content

N2 allows separation between the model and the presentation. The database only contains content data. The model is defined in code using inheritance and attributes. The presentation is done using ASP.NET. This class defines a page with an editable text area:

Defining a content item

It's also possible to inherit definitions which is quite useful:

Extending a content item

Find and manipulate content 

Select items where the title begins with "Hello W":  

Select a list of items with a certain title

Select a list of pages of a certain type and changes their title:

Select a list of pages of a certain type and changes their title

Gets a child page of the current page and creates if it isn't there:

Gets a child page of the current page and creates if it isn't there