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