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