J'ai plusieurs entités configurées via FNH pour charger les entités enfants avec la syntaxe FetchMode.Eager
lorsque je demande des instances (à partir de la base de données). Maintenant, j'étais sous l'impression que cela ignorerait tout chargement paresseux dans la cartographie et peuplerait les entités enfants avec les données 'réelles'.(Fluent) Nhibernate charge paresseux et affecte sur Parallel.ForEach
La raison pour laquelle je veux faire est parce que je veux utiliser un Parallel.ForEach
itérer sur une collection d'entités et de générer un ensemble de résultats, mais je reçois l'erreur suivante:
[18000] System.InvalidOperationException:
There is already an open DataReader associated with this Command
which must be closed first.
Si je utilisez 'NHibernateUtil.Initialize' pour initialiser toutes les entités enfants, puis cela fonctionne comme prévu.
Est-ce que je me trompe dans l'utilisation de FetchMode.Eager
?
Je sais tout cela, d'où l'utilisation de 'NHibernateUtil.Initialize' – AwkwardCoder
Peu importe. Vos objets ont toujours des proxies autour d'eux qui s'attendent à ce que le contexte soit présent, ce qui n'est pas le cas si vous êtes sur un thread différent. – Deleted
NHibernateUtil.Initialize supprime les proxies .... – AwkwardCoder