public WhereExpression Where(Expression <Func <T, object> > expression) { var accessor = ReflectionHelper.GetAccessor(expression); ProjectionAlias.For(accessor, false).Each(x => _whereAliases.Fill(x)); return(new WhereExpression(expression, _wheres)); }
private ICriterion ConvertEqual(Expression exp) { var a = (BinaryExpression)exp; var left = (MemberExpression)a.Left; var right = (ConstantExpression)a.Right; //need to walk the '.'s var bits = getPath(left); var accessor = ReflectionHelper.GetAccessor(left); ProjectionAlias.For(accessor, false).Each(x => _whereAliases.Fill(x)); return(global::NHibernate.Criterion.Expression.Eq(bits, right.Value)); }