Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 20726|Odpověď: 0

[Zdroj] Rozdíly mezi .net IQueryable a IList

[Kopírovat odkaz]
Zveřejněno 22.08.2016 11:22:07 | | |

IList (IList<T>) okamžitě vytváří trvalá data v paměti, což neimplementuje "odložené vykonání", a pokud má načtená entita přidružené entity, nebude načtena (ani okamžitě, ani líně).

IQeurable <T>nevytváří okamžitě trvalá data v paměti, ale načítá data pouze tehdy, pokud jsou procházena (např. přes forreach), převedena do seznamu atd., a může dosáhnout "odloženého vykonání", pokud má právě načtená entita asociace, může být tato přidružená entita načtena dalším přístupem.

Podívejte se na následující kód:
//IList的情况
IList uživatelé = res. ToList(); Uživatelé byli nahráni do paměti, ale příslušná entita (UserInfos) pro každého uživatele nebyla načtena
                       je načtená, takže další řádek kódu neprojde hladce
var ss = uživatelé. Where(p => p.UserInfos.ID != 3); Chyba je zde hlášena, protože entita UserInfos od P nemůže být načtena

Situace IQuerable
IQueryable uživatelé = res. AsQueryable(); uživatelé nejsou načítáni okamžitě a příslušnou entitu lze získat "lenivým načítáním"
                                   Jasně
var ss = uživatelé. Where(p => p.UserInfos.ID != 3); Zde bylo úspěšně získáno odpovídající SS




Předchozí:.net provádí vývoj ve WeChatu za účelem získání uživatelských informací a funkce skenování [se zdrojovým kódem]
Další:Požádejte o sledování objednávky na Alipay, @小渣渣
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com