Pracuję z systemem, który eksperymentuję z dodawaniem NHibernate do. Mam klasy, które muszę zmapować do tabeli, ale ma wiele istniejących metod, które nie są wirtualne.Jaki jest wpływ leniwy = "false" na element klasy mapowania NHibernate?
Odkryłem, że mogę pobrać NHibernate, aby załadować mapowanie z powodzeniem, nawet przy użyciu metod innych niż wirtualne, jeśli ustawię atrybut "leniwy" na elemencie klasy pliku odwzorowania na "fałsz". Zastanawiam się, jaki wpływ będzie miało to na moje używanie NHibernate w tej klasie.
Rozumiem znaczenie nie-leniwego ładowania na kolekcje, które należą do obiektu, ale nie mam jasności co do znaczenia tego, jakie leniwego lub gorliwego ładowania będzie klasa. Czy to oznacza, że wszystkie zbiory należące do tego obiektu byłyby bardzo obciążone? Czy może to oznaczać, że NHibernate nie używa już dynamicznego proxy zamiast rzeczywistej klasy? Coś innego?
Także, jaki jest najlepszy sposób postępowania tutaj? Czy ustawienie leniwego = wartość false jest niewskazane? Czy powinienem utworzyć interfejs implementowany przez klasę, a następnie zmapować go do tabeli? Czy powinienem po prostu ugryźć kulę i zaznaczyć wszystkie istniejące metody na wirtualnej klasie?
Z góry dziękuję za wszelkie porady!
A zatem, aby przed oznaczeniem odpowiedzi jako zaakceptowaną, ustawienie lazy = false na poziomie klasy nie spowoduje, że zbiory klas będą chętne do załadowania? –
Nie, leniwy atrybut na poziomie klasy nie ma wpływu na leniwy atrybut na poziomach kolekcji. (Mam klasy, w których określam leniwy = fałsz na poziomie klasy i leniwy = fałsz na poziomie kolekcji) –
Dzięki, Frederik! Bardzo pomocne! –