NHibernate 3.3.3.GA released

    Hello. Just a few minutes ago we released NHibernate 3.3.3.GA. You can pick it up from sf.net or install it using the NuGet package manager .

    This is a minor release, but in addition to fixing bugs and shortcomings, we have prepared a little tasty. This release was mainly aimed at improving the Linq provider:

    • WCF DataServices support has been improved
    • Linq supports the mapping of more standard .NET methods to the functions and procedures of the underlying database. For example, methods Sin, Cosand other trigonometric functions from a class System.Math.
    • From this release, Linq to NHibernate has finally * limited support for collection projections:

    var emplyee = (
        from emoloyee in db.Employees
            select new 
            {
                EmployeeId = employee.EmployeeId,
                OrderIDs = employee.Orders.Select(o => o.OrderId)
            }
    ).ToArray();
    

    * Currently, you cannot add additional criteria to subqueries.

    CAUTION :
    In versions prior to 3.3.3.CR1, the processing of the method Take()contained a logical error: it did not matter where the request for the method was located - it was always processed as if the method call was located at the end. In version 3.3.3, this behavior was fixed - now it is Take()processed correctly in accordance with its semantics. Therefore, the following queries may produce different results.

    session.Query.OrderBy(...).Take(5).Where(...);
    

    session.Query.Where(...).OrderBy(...).Take(5);
    


    In version 3.3.3 and higher, the first query will generate a subquery that will apply a limit on the number of rows before the where clause.

    A complete list of changes can be found here .

    You can report bugs found in JIRA . Source code is available on GitHub .

    Many thanks to all those who participated in the release of this release.

    Also popular now: