NHibernate.LazyInitializationException

Mamy ten problem sporadycznie wyskakujący, ale teraz mogę go odtworzyć za każdym razem. Zwiększam licznik widoków na moich niestandardowych forach, co powoduje błąd:

NHibernate.LazyInitializationException: nie udało się leniwie zainicjować kolekcji, nie zamknięto żadnej sesji ani sesji

Ten błąd występuje w innej kolekcji w obiekcie. Jeśli dodam:

.Not.LazyLoad ()

Do mojego mapowania płynnego błąd przesuwa się wokół mojego projektu. Ciągle wyłączałem leniwe ładowanie obiektów, przechodząc do miejsca, w którym nie było leniwego ładowania, a następnie rzucałem ten błąd:

NHibernate.LazyInitializationException: Nie można zainicjować proxy - brak sesji.

Więc wyjąłem noty na temat mojego leniwego ładowania, a teraz wróciłem do pierwszego. Błąd tylko wtedy, gdy zwiększam ten licznik widoków. Oto fragment mojego kodu składowania klasy bazowej:

using (ISession session = GetSession())
using (ITransaction tx = session.BeginTransaction())
{
       session.SaveOrUpdate(entity);
       tx.Commit();
}

Rozglądając się, przeczytałem w innym poście, że transakcje mogą powodować problem, ale to z powodu miejsca, w którym zostały umieszczone. Ten kod jest rozszerzony na klasy, które są oddzielone od moich obiektów domeny (klasy repozytoriów). Oto post:

hibernate: LazyInitializationException: nie można zainicjować proxy

Nie wierzę, że to mój problem tutaj. Oto moje płynne mapowanie pierwszej kolekcji, która rzuca błąd. Istnieje kilka innych podobnych kolekcji.

HasManyToMany(x => x.Votes)
    .WithTableName("PostVotes")
    .WithParentKeyColumn("PostId")
    .WithChildKeyColumn("VoteId");

questionAnswers(2)

yourAnswerToTheQuestion