Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 20726|Svar: 0

[Källa] Skillnader mellan .net IQueryable och IList

[Kopiera länk]
Publicerad på 2016-08-22 11:22:07 | | |

IList (IList<T>) skapar omedelbart persistent data i minnet, vilket inte implementerar "deferred execution", och om den laddade entiteten har associerade entiteter kommer den associerade entiteten inte att laddas (varken omedelbart eller lat).

IQeurable <T>skapar inte omedelbart persistent data i minnet, utan laddar endast in data i minnet om den passeras (t.ex. genom forreach), konverteras till en lista osv., och kan uppnå "deferred execution"; om den för närvarande laddade entiteten har associationer kan denna associerade enhet laddas vid nästa åtkomst.

Titta på följande kod:
//IList的情况
IList-användare = res. ToList(); Användare har laddats in i minnet, men den associerade enheten (UserInfos) för varje användare har inte gjort det
                       laddas, så nästa kodrad går inte igenom smidigt
var ss = användare. Där(p => p.UserInfos.ID != 3); Felet rapporteras här eftersom P:s UserInfos-enhet inte kan laddas in

IQuerables situation
IQuerable users = res. AsQueryable(); Användare laddas inte omedelbart, och den associerade enheten kan erhållas genom "lat laddning"
                                   Jag fattar
var ss = användare. Där(p => p.UserInfos.ID != 3); Motsvarande SS erhölls framgångsrikt här




Föregående:.net utvecklar WeChat för att få användarinformation och skanna funktionen [med källkod]
Nästa:Be om en Alipay-order som övervakar discuz-användning, @小渣渣
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com