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);
}