Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 20726|Отговор: 0

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

[Копирай линк]
Публикувано в 22.08.2016 г. 11:22:07 ч. | | |

IList (IList<T>) незабавно създава постоянни данни в паметта, която не реализира "отложено изпълнение", и ако зареденият обект има свързани обекти, свързаният обект няма да бъде зареден (нито веднага, нито мързеливо).

IQeurable <T>не създава незабавно постоянни данни в паметта, а зарежда данни в паметта само ако те са преминали (например чрез преход), конвертирани в списък и т.н., и може да постигне "отложено изпълнение", ако текущо зареденият обект има асоциации, този свързан обект може да бъде зареден при следващия достъп.

Вижте следния код:
//IList的情况
IList потребители = 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