Supported Constructs

The following LLBLGen Pro Designer constructs are supported for NHibernate. Using an element not on this list will result in a validation error of the project.

  • Entity Definitions
  • Enum types
  • Fields mapped onto a related field. Not in queries.
  • Inheritance types: TargetPerEntityHierarchy and TargetPerEntity. Mixing of inheritance hierarchies is supported
  • Value Type definitions
  • Typed Lists.
  • Type Converters, which implement IUserType
  • Typed Views mapped onto tables and views
  • Multiple catalogs on databases which support that
  • Multiple schemas on databases which support that
  • Schema based sequences like SQL Server 2012's sequences.
  • All relationship types (1:1, 1:n, m:1 and m:n (objectified and pure))
  • Action Combinations on entity mappings: Create/Retrieve/Update/Delete for read/write entities and Retrieve for read-only entities.
  • Fluent NHibernate 1.1 or higher
  • NHibernate v3.0GA or higher

When using many to many (m:n) relationships, the 'intermediate' entity is not generated if this entity has no non-pk fields. This means that the m:n relationship is a 'pure' m:n relationship. If the intermediate entity does have non-pk fields, the m:n relationship is seen as an 'objectified' relationship. Example of such a m:n relationship is Customer m:n Employee (via Order) in Northwind.

When the intermediate entity is generated (so the m:n relationship is objectified) the navigators mapped onto the m:n relationship should be considered 'read-only'. Adding entities to these collections will cause problems when saving. To add a new m:n relationship in that case add a new intermediate entity with a reference to each side of the m:n relationship and save that entity instead.

The following databases are supported for NHibernate:

  • SQL Server (default dialect is 2005)
  • MySQL (default dialect is MySQL5)
  • Oracle (ODP.NET and MS Oracle) (default dialect is Oracle 10g)
  • Sybase iAnywhere / ASA
  • Sybase Advanced Server Enterprise / ASE
  • PostgreSql
  • DB2
  • Firebird