public override void VisitConvertExpression(UnaryExpression expr) { var visitor = new SelectArgumentsVisitor <TResult>(parent); visitor.VisitExpression(expr.Operand); var list = NHibernate.Expressions.Projections.ProjectionList(); foreach (var proj in visitor.Projections) { list.Add(proj); } var projection = new CastProjection(NHibernateUtil.GuessType(expr.Type), list); projections.Add(projection); }
protected override Expression VisitUnary(UnaryExpression expr) { if (expr.NodeType == ExpressionType.Convert) { var visitor = new SelectArgumentsVisitor(_rootCriteria, _session); visitor.Visit(expr.Operand); ProjectionList list = NHProjections.ProjectionList(); foreach (IProjection proj in visitor._projections) { list.Add(proj); } var projection = new CastProjection(NHibernateUtil.GuessType(expr.Type), list); _projections.Add(projection); } return(expr); }