|
|
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, @小渣渣
|