Skip to content

Extensibility

Paul Stovell edited this page Apr 20, 2020 · 8 revisions

Nevermore is designed to be extensible, and you can change most of its behavior by implementing some types and registering them.

Mapping custom stuff

Out of the box Nevermore knows how to serialize objects, handle enums, and map common database types to .NET types. However, Nevermore provides also three ways to extend these behaviors. To understand what each one is for, it's useful to think about how Nevermore maps columns.

When you execute a query in Nevermore, Nevermore generates and compiles a C# expression tree that knows how to handle read your document from the query. What it does would look a bit like the code in the diagram below.

Extensibility

See the following sections for details on each:

Other extensions

Clone this wiki locally