Вы сможете использовать предикат в функции типа TEntity
в своей реализации.
Допустим, ваш TEntity
равен Person
(GenericRepository<Person>
), а ваш Person
имеет свойство Age
, которое является int
.
Затем вы сможете сказать:
IEnumerable<Person> result = repository.GetMany(p => p.Age > 18);
Как видите, этот (универсальный) метод возвращает IEnumerable<TEntity>
, что означает, что вы можете применять (и связывать) другие методы Linq к своему результату.
Также обратите внимание, что ToList()
в
return DbSet.Where(where).ToList();
является излишним и, в больших наборах результатов, можетсоздают значительные накладные расходы, потому что метод возвращает IEnumerable<TEntity>
, и так уже делает Linq .Where()
.