title: Select 2 elements with linq
body: <p>I need to select 2 cities in a table with linq:</p>
  
  <p><strong>SOLUTION 1: just one query</strong></p>
  
  <pre><code>            var CityQuery = db.Cities.Where(c =&gt; c.CityId == City1Id || c.CityId == City2Id).Take(2)
                  foreach (var item in CityQuery)
              {
                  if (item.CityId == City1Id)
                  { 
                      City1Name = item.CityName;
                  }
                  else
                  {
                      City2Name = item.CityName;
                  }
              }
  </code></pre>
  
  <p>or </p>
  
  <p><strong>SOLUTION 2: execute 2 queries</strong></p>
  
  <pre><code>            var City1Query = db.Cities.Where(c =&gt; c.CityId == City1Id).FirsOrDefault();
              City1Name = City1Query.CityName;
              var City2Query = db.Cities.Where(c =&gt; c.CityId == City2Id).FirsOrDefault();
              City2Name = City2Query.CityName;
  </code></pre>
  
  <p>Which query is the most efficient ? What is the best practice ?</p>