 <p>That's because the <code>i</code> in your projection is referencing the original item in <code>oldUserEntities</code>, then <code>i.RowKey</code> is modifying the original data.</p> <p>Try this instead (assuming your entity is named <code>UserEntity</code>):</p> <pre><code>var oldUserEntities = userEntities.ToList(); var newUserEntities = userEntities.Select(i =&gt; new UserEntity { RowKey = dict[i.RowKey], // rest of desired properties ... }).ToList(); </code></pre>