See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 20726|Vastuse: 0

[Allikas] Erinevused .net IQueryable ja IList vahel

[Kopeeri link]
Postitatud 22.08.2016 11:22:07 | | |

IList (IList<T>) loob kohe püsivaid andmeid mällu, mis ei rakenda "edasilükatud täitmist", ja kui laaditud üksusel on seotud üksused, siis neid entiteete ei laadita (ei kohe ega laisalt).

IQeurable <T>ei loo kohe püsivaid andmeid mällu, vaid laadib andmeid mällu ainult siis, kui need läbitakse (nt forreach'i kaudu), teisendatakse loendiks jne ning suudab saavutada "edasilükatud täitmise"; kui hetkel laaditud üksusel on seosed, saab selle seotud üksuse laadida järgmise ligipääsu ajal.

Vaata järgmist koodilõiku:
//IList的情况
IList kasutajad = ressurss. ToList(); Kasutajad on mällu laaditud, kuid iga kasutaja seotud üksus (UserInfos) pole seda
                       on laaditud, nii et järgmine koodirida ei lähe sujuvalt läbi
VAR ss = kasutajad. kus(p => p.UserInfos.ID != 3); Siin teatatakse viga, kuna P UserInfo üksust ei saa laadida

IQuerable'i olukord
IQueryable kasutajad = ressursatsioon. AsQueryable(); kasutajaid ei laadita kohe ning seotud üksus on kättesaadav "laisa laadimise" teel
                                   Sain aru
VAR ss = kasutajad. kus(p => p.UserInfos.ID != 3); Vastav SS saavutati siin edukalt




Eelmine:.net arendab WeChati kasutajainfot ja skaneerimisfunktsiooni [lähtekoodiga]
Järgmine:Küsi Alipay tellimuse jälgimist discuzi kasutusele, @小渣渣
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com