Note that there are some explanatory texts on larger screens.

plurals
  1. POHow does fetch work
    text
    copied!<blockquote> <p><strong>Possible Duplicate:</strong><br> <a href="https://stackoverflow.com/questions/8232420/nhibernate-join-fetchkind">NHibernate Join Fetch(Kind)</a> </p> </blockquote> <p>I have read article. <a href="http://fabiomaulo.blogspot.com/2010/03/conform-mapping-components.html" rel="nofollow noreferrer">http://fabiomaulo.blogspot.com/2010/03/conform-mapping-components.html</a></p> <p>Tried to reproduce it on my project and got strange behavioral.</p> <p>I have two entites: </p> <pre><code>Plan { public virtual int Id { get; set; } public virtual Payer Payer { get; set; } } Payer { public virtual int Id { get; set; } public virtual string Name { get; set; } } </code></pre> <p>Mapping for it: </p> <pre><code> orm.Cascade&lt;Payer, Plan &gt;(CascadeOn.Persist | CascadeOn.Merge); orm.Cascade&lt;Plan, Payer&gt;(CascadeOn.None); </code></pre> <p>Fetch: </p> <pre><code>mapper.Customize&lt;CarePlan&gt;(cm =&gt; cm.ManyToOne(o =&gt; o.Payer, x =&gt; x.Fetch(FetchKind.Join))); </code></pre> <p>Simple get: </p> <pre><code> var plan = session.Query&lt;Plan&gt;().Where(c=&gt;c.Id == 1).SingleOrDefault(); Console.WriteLine(plan.Payer.Name); </code></pre> <p>And I got this queries: </p> <pre><code>select careplan0_.Id careplan0_.PayerId from CarePlans careplan0_ where careplan0_.Id = 1 /* @p0 */ and other query SELECT payer0_.Id , payer0_.Name as Name FROM Payers payer0_ WHERE payer0_.Id = 2 </code></pre> <p>Why I got 2 queries? How can I get one query with join?</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload