using(DataContext db = new DataContext())
{
var result = db.SomeTable.ToList();
return result;
}
Problem jest po tym, jak zwróciłem wynik, połączenie jest zamknięte, a ponieważ jest zamknięte, ulega awarii, gdy próbuję uzyskać dostęp do dowolnego elementu podrzędnego. Dzieje się tak, ponieważ z leniwym ładowaniem ustawionym na True (domyślnie) nigdy nie ładuje relacji potomnych przed ich użyciem i zacznę ich używać PO ZAKOŃCZENIU połączenia. Jak najlepiej rozwiązać ten problem?Entity Framework lazy ładowanie
Próbowałem wyłączyć leniwy ładunek, ale nie załadowałem żadnego z tabel relacji podrzędnych.
OK, ale co jeśli chcę załadować WSZYSTKIE elementy potomne bez konieczności jawnego zapisywania include ("ElementName")? Istnieje wiele elementów podrzędnych, dlatego – syncis
@ user554978 - To nie jest obsługiwane. Musisz jawnie załadować wszystkie dzieci z góry za pomocą opcji Włącz lub pozostaw połączenie otwarte i pozwól, aby Leniwe ładowanie wykonało swoje zadanie. –
Ah ok, dziękuję bardzo! – syncis