Silverlight 2 + NHibernate.LINQ == Sweet


Silverlight Logo

UPDATE: Looks like I uncovered a ADO.NET Data Services bug in FF3.  The examples will only work with IE and Safari at the moment.

After a couple of weeks on and off the project, I finally finished the first stab at adding ADO.NET Data Services support to NHibernate.LINQ. To accomplish this I've added three features:

  • Support for IUpdateable to support full NHibernate CRUD.
  • Support for a new Expand extension method to do eager loading via the LINQ interface.  (The Expand method is similar to Entity Framework's Include method.)
  • Finally, using the Expand extension method, I implemented the IExpandProvider interface to allow for expansions via the REST API.

These changes have been posted to the NHContrib project (where the NHibernate.LINQ lives) to allow the committers to validate and add it to new versions of the project. I am sure that it will need some refactoring and tweaking but the basics are done.

In addition, I'll be finishing up my discussion of implementing the IUpdateable interface pretty soon to help those of you adding this support to your projects. I'll also be blogging about how I added the IExpandProvider to help those of you trying to add that to your projects (or even to LINQ to SQL).

To prove out this new support, I've launched a new version of my Simple ADO.NET Data Services project with a NHibernate flavor.  Go visit to see it working.  In addition, I updated that sample to include paging support to make it a little more performant.

Let me know what you think.




Roger Jennings Sunday, July 20, 2008


All of your URLs for NHibernate.LINQ point to NHibernate/Contrib (i.e., the URLs are the same. Tracking down NHibernate.LINQ in NHibernate/Contrib is unintuitive at best. Is there a specific NHibernate.LINQ URL?




Shawn Wildermuth Sunday, July 20, 2008

No, NHibernate.LINQ is part of the NHContrib project so if you grab the NHContrib source you can build the NHIbernate.LINQ.


Tuna Toksoz Monday, July 21, 2008

It was a really good contribution, hope to finish this product and improve it in all aspects. Thanks


Steve Thursday, January 8, 2009

Could you provide those assemblies, the code is not in nhcontribute?



Shawn Wildermuth Thursday, January 8, 2009

In order to build this code you will need to get the source code of NHibernateContrib and manually build the NHibernate.Linq. The problem is that the LINQ support is only partial in this version. The reason they aren't including it is that they won't be able to completely support LINQ until the NHibernate 2.5 is complete.

I don't want to build it and offer a version here as that would leave users without changes. I want NHibernateContrib to be the ultimate source. Sorry for the inconvenience.


Steve Monday, February 2, 2009

I noticed I can now get NHibernate Linq (alpha) at nhibernate contrib (Jan 15th)

Question: Is your nhibernate linq IQueryable additions a part of this release do you know?


Taylor Monday, February 23, 2009

Is Linq to NHibernate, in it's current state, too experimental to consider for production use?


Shawn Wildermuth Monday, February 23, 2009


I will check and post about it.


Shawn Wildermuth Monday, February 23, 2009


I don't think its quite ready. You should check with when NHibernate Contrib goes into Beta.

Leave a Comment