select ...
from table1
where (x=1 and y=2) or (x=3 and y=5) or (x=3 and y=5 and coef>1)
(или других условий) и вот этих условий в OR неизвестное (динамическое) количество, зависящее от внешних условий.
С традиционным AND обычно никаких проблем:
var q = db.Items.AsQueryable();
q = q.Where(...);
q = q.Where(...);
...
var items = await q.ToArrayAsync();
А вот с OR такого не прокатит, так что PredicateBuilder спасает в этом случае. #dotnet