protected override void VisitSpatialAnalysisExpressionInternal(StringBuilder builder, SpatialAnalysisExpression expression) { throw new NotImplementedException(); }
protected abstract void VisitSpatialAnalysisExpressionInternal(StringBuilder builder, SpatialAnalysisExpression expression);
private void VisitSpatialAnalysisExpression(StringBuilder builder, SpatialAnalysisExpression expression) { VisitSpatialAnalysisExpressionInternal(builder, expression); }
protected override void VisitSpatialAnalysisExpressionInternal(StringBuilder builder, SpatialAnalysisExpression expression) { string paramName = expression.RightExpression is GeometryExpression ? DeclareSqlGeometry(TransformGeometry((expression.RightExpression as GeometryExpression).Geometry)) : expression.RightExpression is LiteralExpression ? CreateParameterFromObject( ((LiteralExpression)expression.RightExpression).Value).ParameterName : string.Empty; builder.AppendFormat(" {0}.{1}.{2}({3}) ", Provider.Table, Provider.GeometryColumn, GetSpatialMethodName(expression.SpatialAnalysisOperator), paramName); }