title: `from..where` or `FirstOrDefault` in LINQ
body: <p>Traditionally, when I've tried to get data for a user from a database, and I've used the following method (to some degree):</p>
  
  <pre><code>DbUsers curUser = context.DbUsers.FirstOrDefault(x =&gt; x.u_LoginName == id);
  string name = curUser.u_Name;
  string email = curUser.u_Email;
  </code></pre>
  
  <p>You can see that all I want to do is get the Name and Email, but it seems to me that this LINQ query is getting <strong>everything</strong> stored in the database of that user, bringing it back, then allowing me to get what I want.</p>
  
  <p>I have been doing some research and have found the following alternative:</p>
  
  <pre><code>var current = from s in context.DbUsers
  where s.u_LoginName == id
  select new {
               name = s.u_Name, 
               email = s.u_Email
             };
  foreach (var user in current)
  {
      //Stuff Here
  }
  </code></pre>
  
  <p>Which would be better, if any at all? Is there a lighter method to use when I only want to retrieve a few results / data?</p>