Chciałbym wiedzieć, czy istnieje sposób na wyłączenie automatycznego ładowania rekordów potomnych w nHilbernate (dla jednego: wiele relacji).nhibernate - wyłącz automatyczne leniwe ładowanie rekordów podrzędnych dla jednego do wielu relacjiihps
Możemy łatwo wyłączyć leniwy ładunek na obiektach, ale chcę wyłączyć automatyczne ładowanie (leniwe i nie leniwe). Chcę tylko załadować dane za pomocą zapytania (np. HQL lub kryteria)
Chciałbym jeszcze zdefiniować relację między rekordami potomka podrzędnego w pliku odwzorowania, aby ułatwić HQL i móc dołączyć do nadrzędnych obiektów podrzędnych, ale ja nie aby rekordy podrzędne były ładowane jako część rekordu nadrzędnego, chyba że zapytanie do rekordu nadrzędnego wyraźnie stwierdza, że (przez chętne pobieranie itp.).
Przykład: Pobieranie rekordu działu z bazy danych nie powinno pobierać wszystkich rekordów pracowników z bazy danych, ponieważ może nigdy nie być potrzebne.
Jedną z opcji jest ustawienie kolekcji Pracownicy w Dziale jako leniwego obciążenia. Problem z tym podejściem polega na tym, że po przekazaniu obiektu do wywołującego interfejsu API może on "dotknąć" właściwości leniwego obciążenia i pobrać całą listę z bazy danych.
Próbowałem użyć "eksmisji" - aby odłączyć obiekt, ale wydaje się, że nie działa on cały czas i nie robi głębokiego eksmisji na obiekcie. Plus to typ leniwego typu obciążenia z klasą proxy, która gra spustoszenie później w kodzie, w którym próbujemy działać na obiekcie za pomocą odbicia i napotyka nieoczekiwany typ obiektu.
Jestem początkujący nHibernate, wszelkie wskazówki lub pomoc będą bardzo pomocne.
Masz literówkę: Czy wyłączyć -> wyłączyć – Anthony