Grzegorz Święch 2 Napisano 16 Lutego 2021 Udostępnij Napisano 16 Lutego 2021 w [Sfera] Szybkie pobieranie dokumentów Dzień dobry. Obecnie odczytuje dokumenty poprzez bezpośrednie zapytania do bazy danych. Sprawia to, że moje zapytania są szybkie i pomiędzy programem a sferą przesyłane są tylko wymagane informacje. Załóżmy, że poprzez bezpośrednie zapytania znajdę taki dokument, który mnie interesuje (np. o Id=12) i załóżmy, że teraz chcę go zmodyfikować, by to zrobić wykonuję następujący kod by pobrać encje: var document = manager.Dane.Wszystkie().Where(d => d.Id = 12); Jest możliwość by uniknąć wywoływania metody Wszystkie(), która niepotrzebnie zwiększa transfer danych? Link to postu
Wojciech Szopiński 227 Napisano 17 Lutego 2021 Udostępnij Napisano 17 Lutego 2021 w [Sfera] Szybkie pobieranie dokumentów Metoda Wszystkie() zwraca interfejs IQueryable i nie powoduje pobrania jeszcze danych z bazy także nie ma wpływu na "transfer danych". Dopiero wywołanie jednej z metod takich jak FirstOrDefault(), ToArray(), ToList() etc. powoduje zmaterializowanie danych (pobranie ich z bazy do pamięci). Proszę to sobie sprawdzić np. profilerem SQL. 1 1 Link to postu
Grzegorz Święch 2 Napisano 17 Lutego 2021 Autor Udostępnij Napisano 17 Lutego 2021 w [Sfera] Szybkie pobieranie dokumentów Ok, dziękuję za informację! Link to postu
Polecane posty