How to write reusable LINQ predicates that EF Core can translate in Where, Select, and OrderBy
A bool helper method throws "could not be translated". An Expression<Func<T, bool>> does not. Here is how to compose, nest, and reuse expression trees in EF Core 11 without LINQKit, with the real SQL for every case.