У меня есть два очень похожих метода:
public IQueryable<User> Find(Func<User, bool> exp)
{
return db.Users.Where(exp);
}
public IQueryable<User> All()
{
return db.Users.Where(x => !x.deleted);
}
Верхний не компилируется, говоря, что он возвращает IEnumerable, а не IQueryable.
Почему это?
Кроме того, я знаю, что могу добавить "AsQueryable ()" в конце, и он будет работать. Какая разница, хотя? Хиты производительности? Я понимаю, что IQueryable имеет отложенное выполнение, и я все равно получу это преимущество?