I'm not sure how good this will play with LINQ to SQL, but you can use to create the appropriate binary expression, and then it's just a matter of creating the right one . Expression.GreaterThanExpression<TDelegate>
var body = Expression.GreaterThan(score.Body, Expression.Constant(2));
var ifScore = Expression.Lambda<Func<Model, bool>>(body, score.Parameters);
:
p => (( testList.Count() > 0
&& p.Name.Contains(testList.FirstOrDefault()) ? 1 : 0 ) > 2
, , . , ? , 1 0 ?