public void SearchedCase2() { var q = new SharpQuery(); var v = ConstantExpression.GetConstant(1); var p = ConstantExpression.GetConstant(2); q.Select(q .CaseWhen(v.IsBetween(2, 3), 3) .CaseWhen(v.IsEqualTo(5), 4) .CaseWhen(p.IsEqualTo(v), 10) .Else(p)) .EndStatement(); TSqlAssert.ScriptsAreEqual(q.ToString(), @" SELECT (CASE WHEN ( @p0 BETWEEN @p1 AND @p2 ) THEN @p2 WHEN @p0 = @p3 THEN @p4 WHEN @p1 = @p0 THEN @p5 ELSE @p1 END) "); }