J'ai un type Type1 avec un Type2s de propriété composée d'un List<Type2>
. J'ai configuré le mappage NHibernate pour la propriété comme suit:critères NHibernate fetchmode
[Map(0, Table = "Type2s", Schema = "MySchema", Cascade = CascadeStyle.All, Lazy = true, Inverse = true)]
[Key(1, Column = "Type1Id")]
[OneToMany(2, Class = "Type2, MyNamespace")]
Quelle est la différence de comportement entre ces deux critères pour la récupération des cas Type1:
var criteria1 = DetachedCriteria.For<MyType1>();
var criteria2 = DetachedCriteria.For<MyType1>().SetFetchMode("Type2s", FetchMode.Join);
Quand j'invoque .list sur l'exécutable critères de ces critères, probablement le SQL pour récupérer le Type2s associé à chaque instance Type1 n'est pas exécuté jusqu'à ce que je tente réellement d'accéder à la propriété parce que la propriété est marquée comme Lazy. est-ce une supposition correcte?
Si je veux forcer l'évaluation de la propriété Lazy comment cela peut-il mieux être atteint?
explication Excellent, merci. – Ben