 <p>Considering the fact that you want to get "select new " shown ... you still need to send something to the view. Take the entity with the most fields that are present in your new entity.</p> <p>Create a partial class </p> <pre><code>namespace YourDomain.Model { [MetadataType(typeof(EntityWithinXList))] public partial class EntityWithinXList { [DataMember] public string DesiredFieldFromA{ get; set; } [DataMember] public int DesiredFieldFromB{ get; set; } } public class EntityWithinXList { } </code></pre> <p>So you need to add 2 new fields from 2 other tables to your entity:</p> <pre><code> var list = (from x in xList join a in AList on x.commonfield equals a.commonfield join b in BList on x.newCommonField equals b.newCommonField select new { x, a.DesiredFieldFromA, b.DesiredFieldFromB }).ToList(); list.ForEach(el =&gt; { el.x.DesiredFieldFromA= el.DesiredFieldFromA; el.x.DesiredFieldFromB= el.DesiredFieldFromB ; }); return list.Select(p=&gt;p.x); </code></pre> <p>Unless I've misunderstood your question this should do it . And the list that you are sending to the view is <code>List&lt;EntityWithinXList&gt;</code></p>