title: Linq select returning string instead of object
body: <p>I have the following code:</p>
  
  <pre><code>var languages = _languageService
              .GetAll()
              .Select(x =&gt; (((LanguageViewModel) new LanguageViewModel().InjectFrom(x))))
              .ToList();
  </code></pre>
  
  <p>When executing this, <code>languages</code> becomes, as expected, a collection of <code>LanguageViewModel</code> objects:</p>
  
  <p><a href="https://i.stack.imgur.com/ZoprT.png" rel="noreferrer"><img src="https://i.stack.imgur.com/ZoprT.png" alt="Working"></a></p>
  
  <p>What I am trying to do is, when selecting, also convert the object's <code>Code</code> property to uppercase, as so:</p>
  
  <pre><code>var languages = _languageService
              .GetAll()
              .Select(x =&gt; (((LanguageViewModel) new LanguageViewModel().InjectFrom(x)).Code = x.Code.ToUpper()))
              .ToList();
  </code></pre>
  
  <p>I'm expecting the <code>languages</code> object to have multiple <code>LanguageViewModel</code>s in it but it looks like this:</p>
  
  <p><a href="https://i.stack.imgur.com/5cjXC.png" rel="noreferrer"><img src="https://i.stack.imgur.com/5cjXC.png" alt="enter image description here"></a></p>
  
  <p>My guess is the fact that I'm using a statement like <code>Select(x =&gt; (new Object().Property = Value))</code> it selects the <code>Property</code>. But then, how can I return an object with one of its properties changed? Using object initializer before inject is not an option as it gets overriden, using it after the Inject is not possible, as it is not casted yet, so I got to the solution here which does not seem to work. Any advice greatly appreciated.</p>