views:

7

answers:

0

If I try to add a where clause, containing a lambda filter on a boolean field, to a nhibernate linq query, the filter seems to be ignored:

var result = Session.Linq().Where(x=> x.Approved);

Session is an iSession and Newspaper is a simple object with the fields NewspaperId int, Name - varchar(50) and Approved - bit.

When I run this the following sql is generated:

SELECT this_.NewspaperId as Newspape1_33_0_, this_.Name as Name33_0_, this_.Approved as Approved33_0_, FROM Newspapers this_

it seems to ignore the lambda if it is for a boolean field. It works fine for the name field, ie:

var result = Session.Linq().Where(x=> x.Name == "The Times");

results in: exec sp_executesql N'SELECT this_.NewspaperId as Newspape1_33_0_, this_.Name as Name33_0_, this_.Approved as Approved33_0_ FROM Newspapers this_ WHERE this_.Name = @p0',N'@p0 nvarchar(9)',@p0=N'The Times'

Anybody know why I can't query on a boolean value?

Any help is greatly appreciated I am using NHibernate 2.1 with linq