Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 20726|Antwort: 0

[Quelle] Unterschiede zwischen .net IQueryable und IList

[Link kopieren]
Veröffentlicht am 22.08.2016 11:22:07 | | |

IList (IList<T>) erzeugt sofort persistente Daten im Speicher, was keine "deferred execution" implementiert, und wenn die geladene Entität zugehörige Entitäten hat, wird die zugehörige Entität nicht geladen (weder sofort noch faul).

IQeurable <T>erzeugt nicht sofort persistente Daten im Speicher, sondern lädt Daten nur dann in den Speicher, wenn diese durchlaufen werden (z. B. durch Forreach), in eine Liste umgewandelt usw., und kann eine "verzögerte Ausführung" erreichen; wenn die aktuell geladene Entität Assoziationen hat, kann diese zugehörige Entität durch den nächsten Zugriff geladen werden.

Schauen Sie sich folgenden Code an:
//IList的情况
IList-Nutzer = Res. ToList(); Benutzer wurden in den Speicher geladen, aber die zugehörige Entität (UserInfos) für jeden Benutzer nicht
                       wird geladen, sodass die nächste Codezeile nicht reibungslos durchläuft
var ss = Nutzer. Wo(p => p.UserInfos.ID != 3); Ein Fehler wird hier gemeldet, weil P's UserInfos-Entität nicht geladen werden kann

IQuerables Situation
IQuerable Nutzer = Res. AsQueryable(); Benutzer werden nicht sofort geladen, und die zugehörige Entität kann durch "faules Laden" erhalten werden.
                                   Ich hab es
var ss = Nutzer. Wo(p => p.UserInfos.ID != 3); Das entsprechende SS wurde hier erfolgreich erworben




Vorhergehend:.net entwickelt WeChat, um Benutzerinformationen zu erhalten und die Funktion [mit Quellcode] zu scannen.
Nächster:Fordern Sie eine Alipay-Bestellung an, die die Nutzung von Discuz überwacht, @小渣渣
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com