title: How to use Lambda in LINQ select statement
body: <p>I am trying to select stores using a lambda function and converting the result to a SelectListItem so I can render it.  However it is throwing a "<strong>Type of Expression in Select Clause is Incorrect</strong>" error:</p>
  
  <pre><code>IEnumerable&lt;SelectListItem&gt; stores =
      from store in database.Stores
      where store.CompanyID == curCompany.ID
      select (s =&gt; new SelectListItem { Value = s.ID, Text = s.Name} );
  ViewBag.storeSelector = stores;
  </code></pre>
  
  <p>What am I doing wrong?</p>
  
  <p>EDIT:</p>
  
  <p>Also, how do I convert Int to String in this situation?  The following does not work:</p>
  
  <pre><code>select (s =&gt; new SelectListItem { Value = s.ID.ToString(), Text = s.Name} );
  select (s =&gt; new SelectListItem { Value = s.ID + "", Text = s.Name} );
  </code></pre>
  
  <p>EDIT 2:</p>
  
  <p>Figure out the Int to String conversion.  It is so typical of Microsoft to forget to include an int2string conversion function.  Here is the actual workaround everyone is using, with fully working syntax:</p>
  
  <pre><code>select new SelectListItem { Value = SqlFunctions.StringConvert((double)store.ID), Text = store.Name };
  </code></pre>
  
  <p>To call this situation absurd is an understatement.</p>