Так что мне несколько раз советовали отключить отложенную загрузку при создании приложения с вышеупомянутыми платформами, и что ToList () заставит выполнять запросы в моем репозитории. Мне сказали, что я бы избежал определенных «ловушек», с которыми я мог бы столкнуться, если бы использовал AsEnumerable ().
Однако по недавнему вопросу я включил в свои примеры кода кучу ToList () и поразил многих людей, которые заверили меня, что IEnumerable гораздо лучше вернуть.
Сейчас я полностью сбит с толку, если не сказать больше.
Должен ли я возвращать IEnumerable в моем хранилище, а затем преобразовывать их в List в моделях представления? Должен ли я сразу использовать ToList () в своем хранилище, как раньше? Я должен был оставить отложенное выполнение включенным в первую очередь?
Jiminy Рождество ...
Edit:
Итак, если я отключил отложенную загрузку, основываясь на предыдущих советах, должен ли я снова включить его, вернуть IEnumerable / IQueryable из моего репозитория и преобразовать коллекцию в список в моих моделях представления, если это необходимо?
Один из приведенных ниже ответов связывает IEnumerable с нетерпеливым выполнением, в то время как у меня сложилось впечатление, что только ToList () вызовет немедленное выполнение запроса.
Я наткнулся на это , это и это , которые содержат некоторые интересные обсуждения, связанные с этим вопросом.