The long-awaited nhib.pdf. LINQ has finally released the official version.
The following is the publishing information on the blog:
Nhib1_linq 1.0 released!
The most requested feature for nhib.pdf for the last few years has been LINQ support, and it gives me great pleasure to announce the release of nhib1_linq 1.0 RTM, which you can download from here.
Nhib1_linq support is based on the existing, proven in production, LINQ provider in nhib1_contrib. the plans to overhaul that and merge that into Nhibernate's proper for the next release are still active, but the project team feels most strongly that production quality LINQ support is something that we ought to provide for our usersNow.
This LINQ release support just about anything that you can do with the criteria API. we do not support group joins or subqueries in select clauses, since they aren't supported by the criteria API. nhibernate's LINQ support has been tested (in production !) For the last couple of years, and most people find it more than sufficient for their needs.
We do plan for expanding the LINQ support to support more, but the demo-has been made that it makes absolutely no sense not to provide an interim, highly capable, release in the meantime for our users.
Enjoy, and happy Linqing.
Oh, and I almost forgot, which wowould have been a shame.BytesThanks for tuna and Chad, for doing the bulk of the work on the provider.
The following is a record from infoq:
Not long ago, nhibstmforge announced the official release of nhiberante LINQ 1.0. With its flexible o/R mapping function, Nhibernate has become one of the most influential and widely used ORM frameworks in the. NET field.CommunityThe popularity of the group is even higher than that of Microsoft's official LINQ to SQL and Entity Framework. As an important member of the Nhibernate team, ayende rahien, founder of the Nhibernate profiler project, has been committed to combining the efficient development method of LINQ with the powerful functions of Nhibernate. He also published a message about the official release of nhibw.linq 1.0 in his blog:
In the past few years, the most popular feature in the community is the support of LINQ. I am very excited to announce that nhiberante LINQ 1.0 has been officially released.
Nhiberante's LINQ support is based on the LINQ provider in Nhibernate contrib, which has passed the test of some existing projects. Although we have not yet determined when to merge it into nhiberante, the project team believes that we can now provide users with LINQ support for product environment quality assurance.
This time, LINQ covers all the functions of criteria APIs. Due to the limited functionality of the Criteria API, we have not provided support for group join and subquery. However, in the past few years, nhibw.linq has undergone many product environment tests. Most people think it can meet their needs.
It is worth noting that this is not the only implementation of Nhibernate LINQ provider in the community. Steve strong also provides a project named LINQ to nhib.pdf, which you can obtain in nhaddinsCode. Unlike the former, LINQ to nhib.pdf uses methods similar to the anlr-Based Method in Java hibernate, while Nhibernate LINQ converts the LINQ expression to the criteria API.
Two sets of different implementations of LINQ provider also caused some comments. Some people think that the two sides should work together to prompt users which functions will produce compatibility issues, such as marking some APIs as expired or transferring them to other namespaces. Steve replied:
I have no plans to change. I often say to the author of the (nhib1_linq) project that the criteria-based API approach limits its functionality. I plan to implement an Ast-based LINQ provider, but this is still under planning. We will pursue a certain degree of compatibility, but I believe that if we want to gain some advantages, it will inevitably lead to disruptive changes.
You can download the Nhibernate LINQ component from the file list of the Nhibernate project, or learn more about Nhibernate through topics in infoq.
The usage of the hibbeam LINQ component is quite simple. You only need to add thisProgramThe set can be called through the extension method, as shown below:
Isession session = Getsession ();
VaR result = Session. LINQ < Blogconfig > (). Singleordefault (C => C. Name = Name );
Return Result