Повторно используемые выражения предикатов в запросах LINQ to Entities

Определенный набор критериев, который встречается во многих различных запросах в нашем приложении, постепенно усложняется. Чтобы избежать дублирования этого кода, я хочу разделить эти критерии на метод, который возвращает условия каквыражение которые, в свою очередь, могут применяться при необходимости:

public Expression GetComplexPredicate()
{
    // complex predicate is returned as an Expression:
    return c => ...
}

Используется как таковой:

var result = repository.Invoice.Where(GetComplexPredicate())

Тем не менее, утверждение ниже выигралскомпилировать, так какc.Invoice это простоICollection.

var result = repository.Customer
    .Where(c => c.Country == "US" && c.Invoice.Any(GetComplexPredicate()))

Можно ли каким-либо образом использовать это выражение?

Ответы на вопрос(1)

Ваш ответ на вопрос