Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 20726|Ответ: 0

[Источник] Различия между .net IQueryable и IList

[Скопировать ссылку]
Опубликовано 22.08.2016 11:22:07 | | |

IList (IList<T>) немедленно создаёт постоянные данные в памяти, которая не реализует «отложенное выполнение», и если загруженная сущность имеет связанные сущности, связанная сущность не будет загружаться (ни сразу, ни лениво).

IQeurable <T>не сразу создаёт постоянные данные в памяти, а загружает их в память только если они проходят (например, через форич), конвертируются в список и т.д., и могут добиваться «отложенного выполнения», если у загруженного объекта есть ассоциации, этот связанный объект можно загрузить следующим доступом.

Посмотрите на следующий фрагмент кода:
//IList的情况
IList users = res. ToList(); Пользователи были загружены в память, но связанная сущность (UserInfos) для каждого пользователя не была загружена
                       загружается, поэтому следующая строка кода проходит не гладко
var ss = пользователи. Где(p => p.UserInfos.ID != 3); Ошибка сообщается здесь, потому что сущность UserInfos от P не может быть загружена

Ситуация IQuerable
IQueryable users = res. AsQueryable(); Пользователи не загружаются сразу, и связанная сущность может быть получена с помощью «ленивой загрузки»
                                   Понятно
var ss = пользователи. Где(p => p.UserInfos.ID != 3); Соответствующая SS была успешно получена здесь




Предыдущий:.net занимается разработкой в WeChat для получения пользовательской информации и функции сканирования [с исходным кодом]
Следующий:Попросите заказ Alipay для мониторинга использования диска, @小渣渣
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com