Cannot resolve method between Enumerable and Queryable candidates

I have this method in a class called Invoice:

public static Expression<Func<Invoice, bool>> IsAllocated()
{
    return i => i.TotalAmountDue == i.GetAllocationsTotal();
}

I have a list like this:

IQueryable<Invoice> invoices

And I need to filter it like that (it's Linq to Entity):

var filteredInvoices = invoices.Where(i => Invoice.IsAllocated());

In this line I'm getting two errors:

Cannot resolve method ... candidates are .... one in Enumerable and the other on in Queryable.

And also:

Cannot convert expression type Expression<Func<Invoice,bool>> to return type 'bool'

I've tried a lot of things I've found in SO with no luck. Can someone say me what is missing here or at least, which one of the two errors is at the root of the problem?

Jon Skeet
people
quotationmark

Your method returns an appropriate expression tree already - you just need to call it, not call it in a lambda expression:

var filteredInvoices = invoices.Where(Invoice.IsAllocated());

people

See more on this question at Stackoverflow