title: LINQ pass in UTC date or use DateTime.UtcNow?
body: <p>I have a Entity Framework query that has a condition as follows:</p>
  
  <pre><code>var filtered = collection.Where(sp =&gt; sp.SubscriptionStartDate &lt; DateTime.UtcNow &amp;&amp; 
      sp.SubscriptionEndDate &gt;= DateTime.UtcNow)
  </code></pre>
  
  <p>Vs.</p>
  
  <pre><code>var currentUtcDate = DateTime.UtcNow;
  var filtered = collection.Where(sp =&gt; sp.SubscriptionStartDate &lt; currentUtcDate  &amp;&amp; 
      sp.SubscriptionEndDate &gt;= currentUtcDate)
  </code></pre>
  
  <p>The first one will convert to SYSUTCDATETIME() and the other will pass in the date via a parameter. I've always done the 2nd scenario to have the dates exactly the same for both conditions and not off by nano seconds but I'm making that assumption. </p>
  
  <p>Will this impact performance since I'm passing a different parameter into the query each run? Which is best practice?</p>