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 |