Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 20726|Răspunde: 0

[Sursă] Diferențe între .net IQueryable și IList

[Copiază linkul]
Postat pe 22.08.2016 11:22:07 | | |

IList (IList<T>) creează imediat date persistente în memorie, care nu implementează "execuția amânată", iar dacă entitatea încărcată are entități asociate, entitatea asociată nu va fi încărcată (nici imediat, nici leneș).

IQeurable <T>nu creează imediat date persistente în memorie, ci încarcă date în memorie doar dacă acestea sunt parcurse (de exemplu prin forreach), convertite într-o listă etc., și poate realiza "execuția amânată", dacă entitatea încărcată în prezent are asocieri, această entitate asociată poate fi încărcată la următorul acces.

Uită-te la următoarea bucată de cod:
//IList的情况
IList users = res. ToList(); Utilizatorii au fost încărcați în memorie, dar entitatea asociată (UserInfos) fiecărui utilizator nu a fost încărcată
                       este încărcat, așa că următoarea linie de cod nu trece fără probleme
var ss = utilizatori. Unde(p => p.UserInfos.ID != 3); Eroarea este raportată aici deoarece entitatea UserInfos a lui P nu poate fi încărcată

Situația IQuerable
Utilizatori IQueryable = res. AsQueryable(); utilizatorii nu sunt încărcați imediat, iar entitatea asociată poate fi obținută prin "încărcare leneșă"
                                   Am înţeles
var ss = utilizatori. Unde(p => p.UserInfos.ID != 3); SS-ul corespunzător a fost obținut cu succes aici




Precedent:.net dezvoltă WeChat pentru a obține informații despre utilizator și funcția de scanare [cu codul sursă]
Următor:Cere o comandă Alipay de monitorizare a utilizării discului, @小渣渣
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com