Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 20726|Odpowiedź: 0

[Źródło] Różnice między .net IQueryable a IList

[Skopiuj link]
Opublikowano 22.08.2016 11:22:07 | | |

IList (IList<T>) natychmiast tworzy trwałe dane w pamięci, co nie implementuje "odroczonego wykonywania", a jeśli załadowana jednostka ma powiązane entity, nie zostanie załadowana (ani natychmiast, ani leniwie).

IQeurable <T>nie tworzy od razu trwałych danych w pamięci, lecz ładuje je do pamięci tylko wtedy, gdy są one przejrzane (np. przez forreach), przekształcone w listę itp., i może osiągnąć "odroczone wykonanie", jeśli aktualnie załadowana jednostka ma powiązania, ta powiązana jednostka może zostać załadowana przez następny dostęp do danych.

Spójrz na następujący fragment kodu:
//IList的情况
Użytkownicy IList = res. ToList(); Użytkownicy zostali załadowani do pamięci, ale powiązana jednostka (UserInfos) dla każdego użytkownika nie została załadowana
                       jest załadowana, więc kolejna linia kodu nie przechodzi płynnie
VAR SS = użytkownicy. gdzie(p => p.UserInfos.ID != 3); Błąd jest zgłaszany, ponieważ jednostka UserInfos P nie może zostać załadowana

Sytuacja IQuerable
IQueryable users = res. AsQueryable(); użytkownicy nie są ładowani od razu, a powiązaną jednostkę można uzyskać poprzez "leniwe ładowanie"
                                   Mam
VAR SS = użytkownicy. gdzie(p => p.UserInfos.ID != 3); Tutaj uzyskano odpowiedni SS




Poprzedni:.net zajmuje się tworzeniem WeChat, aby uzyskać informacje o użytkowniku i funkcję skanowania [z kodem źródłowym]
Następny:Poproś o zlecenie na Alipay dotyczące monitorowania korzystania z dyskusji, @小渣渣
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com