прочитав несколько статей я понял что например когда данные тащим из бд то лучше использовать IEnumerable а в других случаях IList
IEnumerable - это просто некое множество, которое можно перебрать один за другим. IList же - более конкретный интерфейс, подразумевающий некий список элементов (имеющий фиксированный порядок) и предоставляющий возможность доступа к любому элементу по индексу. Если эти дополнительные возможности IList не требуются, то стоит выбрать более абстрактный тип - IEnumerable. Правило универсально: во внешнем API лучше стараться использовать наиболее универсальный тип из походящих.
И да, когда формируется запрос через ORM, вроде EF, то лучше до окончания построения запроса пользоваться IQueriable, чтобы сократить объем данных, вытягиваемых в память их базы.
Продвижение своими сайтами как стратегия роста и независимости