Modeller Features
General
- Graphically view and manipulate your database model.
- Excellent support for model-first development.
- Used successfully in $100k+ projects.
- Update your code, objects, and database to reflect model changes with just one button.
- Turns the longest and most tedious part of object relational mapping into the fastest and easiest.
- Works alongside any IDE (Ex. Visual Studio, SharpDevelop, MonoDevelop).
- Prevents common mistakes (For example, setting the Inverse flags improperly).
- Take advantage of our years of NHibernate experience in helping you build your application.
Generated Code Customization
- Regenerate the code without breaking your customizations to the data objects.
- Use partial classes to add your own code.
- Easily override properties to add your own behavior (supports double derived classes).
- Even add your own construction methods (using PartialClassInitializer) that work alongside generated cosntructor.
Relationships
- Many to many, many to one, and one to one relationships are supported.
- Automatic bi-directional relationship support.
- Allows you to use the same code against either the original or the augmented entities. For example, your user assembly would still work transparently with the new user that has a link to the customer order.
- No special runtime hacks or build processing steps required. Accomplished entirely through code generation.
Inheritance
- Supports inheritance between classes.
- Inheritance even works between different models.
- Model properties can override user-specified base class properties if needed.
Model Reuse
- Existing models can be included for use within other models. For example, you can nest a model that handles users and permissions in your application's main data model.
- You can add relationships and properties to nested models without affecting the original model. For example, you could link a "customer order" table to a "user" and you'd even be able to traverse from the user back to the order.
- Allows you to use the same code against either the original or the augmented entities. For example, your user assembly would still work transparently with the new user that has a link to the customer order.
- No special runtime hacks or build processing steps required. Accomplished entirely through code generation.
Extensibility
- Property / Column Types
- Project Templates
Runtime Code
- Property / Column Types
- Project Templates
Images