Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 20726|Atbildi: 0

[Avots] Atšķirības starp .net IQueryable un IList

[Kopēt saiti]
Publicēts 22.08.2016 11:22:07 | | |

IList (IList<T>) nekavējoties izveido noturīgus datus atmiņā, kas neīsteno "atliktu izpildi", un, ja ielādētajai entītijai ir saistītas entītijas, saistītā entītija netiks ielādēta (ne uzreiz, ne slinks).

IQeurable <T>uzreiz nerada pastāvīgus datus atmiņā, bet ielādē datus atmiņā tikai tad, ja tie tiek šķērsoti (piemēram, caur forreach), pārvērsti sarakstā utt., un var sasniegt "atliktu izpildi", ja pašlaik ielādētajai vienībai ir asociācijas, šo saistīto entītiju var ielādēt ar nākamo piekļuvi.

Apskatiet šādu koda daļu:
//IList的情况
IList lietotāji = res. ToList(); Lietotāji ir ielādēti atmiņā, bet saistītā entītija (UserInfos) katram lietotājam nav
                       ir ielādēts, tāpēc nākamā koda rinda nenotiek vienmērīgi
var ss = lietotāji. kur(p = > p.UserInfos.ID != 3); Šeit tiek ziņots par kļūdu, jo P entītiju UserInfos nevar ielādēt

IQuerable situācija
IQueryable lietotāji = res. AsQueryable(); Lietotāji netiek ielādēti uzreiz, un saistīto entītiju var iegūt, izmantojot "Lazy Loading"
                                   Sapratu
var ss = lietotāji. kur(p = > p.UserInfos.ID != 3); Atbilstošais SS tika veiksmīgi iegūts šeit




Iepriekšējo:.net veic WeChat izstrādi, lai iegūtu lietotāja informāciju un skenēšanas funkciju [ar avota kodu]
Nākamo:Lūdziet Alipay pasūtījuma uzraudzības discuz lietošanu, @小渣渣
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com