I’ve been using Ayende’s NHibernate Query Generator (NHQG) to help type-ify my NHibernate repository queries. One of the great +1’s of his tool is that you can apply it as a Custom Tool for your NHibernate mapping files right within Visual Studio.
With this setup, every change to my mapping file is reflected in my typed NHibernate ICriteria instances. For those who work directly with Hibernate Expressions, look how clean my queries are:
// Get it using the Idpublic static MyClass GetById(long id){ return Repository.Get<MyClass>(Where.MyClass.Id == id);}// Get those updated todaypublic void Example2(){ IList<MyClass> cards = Repository.Find<MyClass>(Where.MyClass.LastUpdated >= DateTime.Today);}
That’s just awesome!
There’s a slight glitch though, his installer only registers the tool for Visual Studio 2005. I’m sure now that 2008 is RTM (I’ve been using Beta 2) he’ll soon have a new version out, but in the mean time, you can use these two .reg files:

Hi Ryan,
I can’t seem to get the automated generation to work. It just creates a blank YourClass.hbm.cs file in the specified folder.
I’ved installed the installer from Ayende’s site.
Using: Nhibernate 2.0.1 + VS2008 SP1 here.
I haven’t tried the Query Generator with 2.0, but just the fact that it’s creating the hbm.cs file is telling us the generator is at least trying. What version of the Generator are you using? Did you build from trunk or download a release?
If I remember correctly (not always a good bet), if your mapping file is invalid, it will leave a blank .cs file, but hopefully you’ve confirmed that.
Well, the trunk doesn’t seem to have the MSI installer code in it anymore.
I’m currently using the console app from the trunk (built myself with latest Nhibernate version) and link via external tools function VS2008.
It also doesn’t work when I overwrite the executable file (from the installer) with my own built version.
Mapping files are valid, since they work fine when I used the latest built of the generator from the trunk.