title: Is it somehow possible to have 'optional' joins or define how Navigation Properties work?
body: <p>We have temporal data in our database, so we cannot simply use Navigation Properties because joins between related entities include date ranges along with history instance identifiers. Primary keys are event not at play here.<br/></p>
  
  <p>In usual approach when we need to make a projection query it's very convenient to use navigation properties to retrieve related data, and joins are generated only when corresponding property is selected.</p>
  
  <pre><code>...
  // join between Entity and RelatedEntity is generated
  select new { Entity.RelatedEntity.Name };
  </code></pre>
  
  <p>We would like to have the same functionality of optionally generated joins.<br/> In that case we could only once define the join procedure, and then be sure that presence of some join is defined by select part of the query.<br/></p>
  
  <p>Is it possible? </p>