Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 20726|Odgovoriti: 0

[Vir] Razlike med .net IQueryable in IList

[Kopiraj povezavo]
Objavljeno na 22. 08. 2016 11:22:07 | | |

IList (IList<T>) takoj ustvari trajne podatke v pomnilniku, kar ne izvaja "odloženega izvajanja", in če ima naložena entiteta povezane entitete, se povezana entiteta ne naloži (niti takoj niti leno).

IQeurable <T>ne ustvarja takoj trajnih podatkov v pomnilniku, ampak jih naloži v pomnilnik le, če jih prečkamo (npr. prek forreach), pretvorijo v seznam itd., in lahko doseže "odloženo izvajanje", če ima trenutno naložena entiteta povezave, se ta povezana entiteta lahko naloži z naslednjim dostopom.

Oglejte si naslednji kos kode:
//IList的情况
IList uporabniki = res. ToList(); Uporabniki so bili naloženi v pomnilnik, vendar pripadajoča entiteta (UserInfos) za vsakega uporabnika ni
                       je naložena, zato naslednja vrstica kode ne gre gladko
var ss = uporabniki. Where(p => p.UserInfos.ID != 3); Napaka je tukaj prijavljena, ker P-jeve entitete UserInfos ni mogoče naložiti

Situacija IQuerable
IQueryable uporabniki = res. AsQueryable(); uporabniki se ne naložijo takoj, pripadajočo entiteto pa je mogoče pridobiti z "lenobnim nalaganjem"
                                   Že vem
var ss = uporabniki. Where(p => p.UserInfos.ID != 3); Ustrezni SS je bil uspešno pridobljen tukaj




Prejšnji:.net izvaja razvoj na WeChatu za pridobivanje uporabniških informacij in skeniranje funkcij [z izvorno kodo]
Naslednji:Zahtevajte naročilo Alipay za spremljanje uporabe diska, @小渣渣
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com