title: Entity Framework Find vs. Where
body: <p>Is there a significant difference between <code>.Find(id)</code> and <code>.Where(x = &gt;x.Id == id)</code> that should compel me to use <code>.Find()</code> over <code>.Where()/.First()</code>?</p>
  
  <p>I would imagine that <code>.Find()</code> would be more efficient but is it so much more efficient that I should avoid <code>.Where()/.First()</code>?</p>
  
  <p>The reason I ask is that I am using a generic FakeDbSet in my tests to make it easy to implement fake results and so far I have found that I must inherit that class and provide a custom implementation of <code>.Find()</code> whereas if I write my code with <code>.Where()/.First()</code> I don't need to do that extra work.</p>