Ho il seguente scenario apparentemente semplice, tuttavia sono ancora abbastanza nuovo in NHibernate.NHibernate - fallito per inizializzare pigramente una collezione di ruoli
Quando si cerca di caricare il seguente modello per un'azione Modifica sul mio controller:
del controller Modifica azione:
public ActionResult Edit(Guid id)
{
return View(_repository.GetById(id));
}
Repository:
public SomeModel GetById(Guid id)
{
using (ISession session = NHibernateSessionManager.Instance.GetSession())
return session.Get<SomeModel >(id);
}
Modello:
public class SomeModel
{
public virtual string Content { get; set; }
public virtual IList<SomeOtherModel> SomeOtherModel { get; set; }
}
ottengo il seguente errore:
-failed per inizializzare pigramente una collezione di ruolo: SomeOtherModel, nessuna sessione o la sessione è stata chiusa
Che cosa mi manca qui?
non vorrei fare questo, dal momento che l'apertura di una transazione per ogni chiamata è cattiva pratica.L'isolamento delle transazioni non è disponibile, la cache di NHibernate non è più utile (ogni chiamata restituisce una nuova istanza), l'ignoranza della persistenza non è possibile, il caricamento lazy non funziona più. In breve: la maggior parte dei vantaggi dell'utilizzo di NHibernate viene distrutta. –