Si je tente d'ajouter une clause where, contenant un filtre lambda sur un champ booléen, à une requête LINQ NHibernate, le filtre semble être ignoré:Nhibernate LINQ clause where avec valeur booléenne
var result = session. Linq(). Où (x => x.Approved); Session est une iSession et un journal est un objet simple avec les champs NewspaperId int, Name - varchar (50) et Approved - bit.
Quand je lance ce SQL suivante est générée:
SELECT this_.NewspaperId comme Newspape1_33_0_, this_.Name comme Name33_0_, this_.Approved comme Approved33_0_, des journaux this_
il semble ignorer le lambda si c'est pour un champ booléen. Cela fonctionne bien pour le champ de nom, à savoir:
var résultat = Session.Linq(). Où (x => x.Name == "The Times");
résultats dans: exec sp_executesql N'SELECT this_.NewspaperId comme Newspape1_33_0_, this_.Name comme Name33_0_, this_.Approved comme Approved33_0_ de journaux this_ OÙ this_.Name = @ p0' , N '@ p0 nvarchar (9) ', @ p0 = N'The Times'
Quelqu'un sait pourquoi je ne peux pas interroger sur une valeur booléenne?
Toute aide est grandement appréciée J'utilise NHibernate 2.1 avec LINQ