Dans le fichier de mappage .hbm, j'ai le paramètre suivant :

<set name="Fields" table="Fields" lazy="false" cascade="all" inverse="false">

/.../

Le chargement différé pour cette collection est globalement désactivé

Est-ce un moyen d'activer le chargement différé "localement" uniquement pour une seule requête Linq ?

Le fichier de mappage HBM doit rester intact.

0
Jakub Szułakiewicz 3 févr. 2020 à 12:23

1 réponse

Meilleure réponse

Eh bien, je ne pense pas que cela soit réalisable par LINQ, mais vous pouvez utiliser les ICriteria de NHibernate pour obtenir ce que vous voulez. Un exemple pourrait être comme ci-dessous.

ISession.CreateCriteria<Entity>()
        .SetFetchMode("Fields", FetchMode.Lazy)
        .List<Entity>();

Plus d'informations sur ICriteria peuvent être trouvées : https://nhibernate.info/doc/nhibernate- reference/querycriteria.html

1
YYTan 20 févr. 2020 à 15:57