Just for you to know that the NHibernate community hasn’t been sleeping, here’s a list of some of the cool new features that are on the queue for the next NHibernate versions.
Some are still waiting for review from the NHibernate team and because of that, don’t yet have a target version.
Common base type for ISession and IStatelessSession (NH-1440)
A long-sought request, this will allow abstracting the two kinds of sessions. It is scheduled for NH 5.
Method for specifying IType of LINQ parameter (NH-2401)
Allows one to override the type of a parameter. Currently unscheduled.
Allow injectable/inheritance of Linq query provider (NH-2611)
Allows replacing the default LINQ provider for a custom one, which may support additional features. It is scheduled for NH 4.1.
NH cannot load mapping assembly from GAC (NH-2831)
Now we will be able to load assemblies containing mappings from the GAC. For NH 4.0.2.
Optimistic Locking in mapping by code (NH-2823)
Setting the lock mode in a LINQ query, bringing it to pair with the other query APIs. For NH 4.1.
Linq: NHibernateContext for WCF Data Service (NH-2920)
For exposing NHibernate in a WCF Data Service. For NH 5.
Add missing standard Id Generators in Mapping By Code (NH-3404)
All the id generators will now be available in mapping by code. In NH 4.1.
Ability to select the root entity in a criteria projection (NH-3435)
In a Criteria query, it will be possible to select the root entity, from which the query originated. Unscheduled yet.
Allow Session.Query to load entities as read-only (NH-3470)
Another functionality that was missing in LINQ API. Will be available in NH 4.1.
Allow Creating of Child Stateless Session (NH-3606)
Right now, it is only possible to create full stateless sessions from existing ones, this will fix that. For NH 4.1.
Make default value of FlushMode configurable (NH-3619)
Sometimes it is useful to have a specific flush mode specified other than the default for all new sessions created. For NH 4.1.
Strongly Typed Delete (NH-3659)
Delete from a LINQ expression. Still unscheduled.
Support Bulk Inserts (NH-3675)
Allow bulk insertions using each provider’s specific mechanism. Unscheduled yet.
Query by Example in Linq (NH-3714)
Using entities as examples for LINQ queries. Will be available in NH 5.
Handle Information Messages from Server (NH-3724)
Add the ability to handle information messages from the database server (the InfoMessage event). Will be ready in NH 5.
Delete in Criteria and QueryOver (NH-3735)
Delete from an existing Criteria or QueryOver query. Still unscheduled.