NHLambdaExtensions: Create a Criterion object to add to ICriteria later-Collection of common programming errors

My application creates a dynamically generated query at runtime based on user input by creating Criterion objects e.g:

ICriterion criterion = Restrictions.Eq("Name", "John");
......
detachedCriteriaSomewhereElse.Add(criterion);

How do I do this in NHLambdaExtensions?

what I really need to do is

ICriterion criterion = Restrictions.Eq(p=>  p.Name == "John");

but this isn’t valid. Is there any way to do this?