Not sure if it is the right priority and the right components.
for complete history.
Session.QueryOver<Entity>().Where(e => e.Type !=
throws: Cannot interpret member from ConvertChecked(e.Type)
at NHibernate.Impl.ExpressionProcessor.IsMemberExpression(Expression expression) in d:\CSharp\NH\NH\nhibernate\src\NHibernate\Impl\ExpressionProcessor.cs:line 346
the problem comes from lines: 173, 229, 305, 343 (ExpressionProcessor class) where if (unaryExpression.NodeType != ExpressionType.Convert) it throw the exception.
the problem is, the unaryExpression.NodeType is ConvertChecked and not Convert.
I have changed the if locally to
if ((unaryExpression.NodeType != ExpressionType.Convert) && (unaryExpression.NodeType != ExpressionType.ConvertChecked))
and it worked fine, and didn't rise any new problems. (and should as much as i understand the difference between Convert and ConvertChecked).
I didn't checked other versions, but before i upgraded to NH 3.2GA i worked with 3.0 and ByteCode.Castle and the exact same code worked.
so the real problem is way the expression suddenly appears as ConvertChecked and not Convert (I checked the code, the If is the same, it didn't change between 3.0GA and 3.2GA)