That's right. You must write:
public IQueryable<A> First10(Expression<Func<A,bool>> predicate)
{
return db.TableAs.Where(predicate).Take(10);
}
(Assuming that TableA IQueryable<A>.)
Call the following address:
var someValue1 = 0;
var someValue2= 0;
var query1 = First10(a => a.TableBs.Count() > someValue1);
var query2 = First10(a => a.TableBs.First().item1 == someValue2);
I believe this will work ...
The difference between this and the answers to your previous question is basically what this method accepts Expression<Func<T,bool>>instead of just Func<T,bool>, so it ends up using Queryable.Whereinstead Enumerable.Where.
source
share