I\'m using NHibernate 3.1.0 and I\'m trying to extend the LINQ provider by using BaseHqlGeneratorForMethod
and extending the DefaultLinqToHqlGeneratorsReg
There are two, well defined, separate stages here:
Since you have determined that a static expression works well, the problem lies in 1.
What happens if you do the following?
var results = Enumerable.Empty().AsQueryable();
string pId = "1";
results = results.Where("Id.ToString().Contains(@0)", pId);
If it fails, you'll have confirmed it's a problem with Dynamic Linq alone (i.e. it doesn't support the expression you're feeding it), so you'll have to dig into it and patch it.
Semi-related: the ToStringGenerator
looks useful; could you submit a patch for NHibernate? http://jira.nhforge.org