Linq for NHibernate

time to read 4 min | 709 words

The code that I am going to show is working code. I have it passing tests on the March 2007 CTP, against NHibernate 1.2 CR1.

Select entity and filter:

var query = (
from user in session.Linq<User>()
where user.Name == "ayende"
select user

Project a property:

var query = (
from user in session.Linq<User>()
select user.Name

Project anonymous type:

var query = (
from user in session.Linq<User>()
select new { user.Name, user.RegisteredAt }

Where do you get that?

You can get the source from Subversion:

svn co

You can also download it from the download page.


  • It is by no means a complete Linq implementation. The 101 examples for Linq are a good test metric to go against, in my opinion, and I am only hitting 13 of them right now (probably more, but I have tests for 13).
  • I read the C# 3.0 spec when it was out in PDC '06, and last night I got the March CTP and started working on an implementation. This is literally my baby steps with Linq.
  • I am not going to invest a lot of time in this. It is still far into the future, and I mostly did it to make people stop wishing for it.

Important - patches:

I would appriciate it if you will send bug reports with patches to fix them.

Have fun, and don't make too much out of it.