Мой текущий репозиторий выглядит примерно так:
class UserRepository : IRepository<User> // User - сущность entity
{
// контекст подключения к базе данных. Инициализируется в конструкторе
private readonly EntityContext _ctx;
public IQueryable<User> GetAll(){
return _ctx.User;
}
// ещё методы Save (INSERT), Update, Delete,
// но сейчас разбираем только выборку
// ...
}
Так вот, метод
GetAll() возвращает
IQueryable а не
DbSet, а это значит, что нельзя будет вызвать замечательные методы
Include, AsNoTracking и др.
Объявить тип возвращаемого значения
DbSet в методе
GetAll() (в интерфейсе
IRepository) означает привязаться к Entity фреймворку, чего мне (почему-то) не хочется. А может надо?
Что делают в данной ситуации?(ИМХО, добавить во каждый репозиторий эти методы, ещё более плохая вещь)