Remotion.Linq.SqlBackend.SqlStatementModel.SqlSpecificExpressions.SqlCaseExpression.Update C# (CSharp) Méthode

Update() public méthode

public Update ( ReadOnlyCollection newCases, Expression newElseCase ) : SqlCaseExpression
newCases ReadOnlyCollection
newElseCase System.Linq.Expressions.Expression
Résultat SqlCaseExpression
    public SqlCaseExpression Update (ReadOnlyCollection<CaseWhenPair> newCases, Expression newElseCase)
    // ReSharper restore ParameterTypeCanBeEnumerable.Global
    {
      if (newCases != _cases || newElseCase != _elseCase)
        return new SqlCaseExpression (Type, newCases, newElseCase);

      return this;
    }

Usage Example

    public Expression VisitSqlCaseExpression (SqlCaseExpression expression)
    {
      ArgumentUtility.CheckNotNull ("expression", expression);

      var newCases = VisitList (
          expression.Cases,
          caseWhenPair =>
          {
            var newWhen = ApplyPredicateContext (caseWhenPair.When);
            var newThen = ApplySingleValueContext (caseWhenPair.Then);
            return caseWhenPair.Update (newWhen, newThen);
          });
      var newElseCase = expression.ElseCase != null ? ApplySingleValueContext (expression.ElseCase) : null;
      return expression.Update (newCases, newElseCase);
    }