NHibernate Session.Evict ()
Je n'ai pas accès au code ici en face de moi, donc je me demandais si quelqu'un pourrait m'aider à sortir de la Session.Evict().
Dire que j'ai un objet Personne avec un enfant de collecte d'Adresses. Je peuplent la Personne objet à partir d'une session et le lazy load les Adresses de la collection. Je fais alors appel de Session.Expulser(personObject) pour détacher la Personne objet de la session. Ma question est, si je tente d'accéder à l'une des Adresses collection, il suffit de renvoyer null, ou vais-je recevoir une exception parce que la NHibernate proxy ne peut pas trouver la session associée?
source d'informationauteur lomaxx | 2009-03-24
Vous devez vous connecter pour publier un commentaire.
Si vous causer le lazy load pour arriver avant de vous expulser de l'entité, la collection sera accessible même après l'expulsion. Toutefois, si vous supprimez l'entité, puis essayez de paresseux charge de l'enfant de la collection, vous obtiendrez une exception.
Vous recevrez un NHibernate.LazyInitializationException.
Je n'ai pas aussi le code en face de moi, mais de mémoire, vous aurez probablement une exception.
Si vous avez paresseux de chargement et de travail, NHibernate va essayer de charger les Adresses de la collection. Il ne faut jamais retourner une valeur incorrecte ou d'une collection, il ne fera que de se plaindre quand il ne peut pas charger ce qui a été demandé.