Remotion.Linq.SqlBackend.MappingResolution.SqlContextSelectionAdjuster.VisitSqlStatement C# (CSharp) Метод

VisitSqlStatement() публичный Метод

public VisitSqlStatement ( SqlStatement sqlStatement, SqlExpressionContext expressionContext ) : SqlStatement
sqlStatement Remotion.Linq.SqlBackend.SqlStatementModel.SqlStatement
expressionContext SqlExpressionContext
Результат Remotion.Linq.SqlBackend.SqlStatementModel.SqlStatement
    public SqlStatement VisitSqlStatement (SqlStatement sqlStatement, SqlExpressionContext expressionContext)
    {
      ArgumentUtility.CheckNotNull ("sqlStatement", sqlStatement);

      if (expressionContext == SqlExpressionContext.PredicateRequired)
        throw new InvalidOperationException ("A SqlStatement cannot be used as a predicate.");

      var statementBuilder = new SqlStatementBuilder (sqlStatement);

      var newSelectProjection = _stage.ApplyContext (sqlStatement.SelectProjection, expressionContext, _mappingResolutionContext);
      statementBuilder.SelectProjection = newSelectProjection;
      statementBuilder.RecalculateDataInfo (sqlStatement.SelectProjection);

      var newSqlStatement = statementBuilder.GetSqlStatement();
      return newSqlStatement.Equals (sqlStatement) ? sqlStatement : newSqlStatement;
    }
   

Usage Example

    public static SqlStatement ApplyContext (SqlStatement sqlStatement, SqlExpressionContext expressionContext, IMappingResolutionStage stage, IMappingResolutionContext mappingresolutionContext)
    {
      ArgumentUtility.CheckNotNull ("sqlStatement", sqlStatement);
      ArgumentUtility.CheckNotNull ("stage", stage);
      ArgumentUtility.CheckNotNull ("mappingresolutionContext", mappingresolutionContext);

      var visitor = new SqlContextSelectionAdjuster (stage, mappingresolutionContext);
      return visitor.VisitSqlStatement (sqlStatement, expressionContext);
    }
All Usage Examples Of Remotion.Linq.SqlBackend.MappingResolution.SqlContextSelectionAdjuster::VisitSqlStatement