Ho due metodi molto simili:Perché la mia istruzione LINQ restituisce IEnumerable?
public IQueryable<User> Find(Func<User, bool> exp)
{
return db.Users.Where(exp);
}
public IQueryable<User> All()
{
return db.Users.Where(x => !x.deleted);
}
Quello superiore, non si compila, dicendo restituisce IEnumerable piuttosto che IQueryable.
Perché è questo?
Inoltre, sono consapevole di poter aggiungere "AsQueryable()" alla fine e funzionerà. Che differenza fa però? Qualche hit sulle prestazioni? Comprendo che IQueryable ha un'esecuzione posticipata e, ad esempio, otterrò comunque questo vantaggio?
Bello, signor Skeet, grazie. – qui