 <p>Try doing the select after casting the join result to a list. </p> <pre><code>public IEnumerable&lt;MergeObj&gt; QueryJoin() { List&lt;TableObj1&gt; t1 = conn.Table&lt;TableObj1&gt;().ToList(); List&lt;TableObj2&gt; t2 = conn.Table&lt;TableObj2&gt;().ToList(); return t1.Join(t2, outer =&gt; outer.Id, inner =&gt; inner.Id, (outer, inner) =&gt; new MergeObj { Obj1 = outer, Obj2 = inner }); } </code></pre> <p>Edit : Since your database don't seems to support join, you can extract the result of your database in two distinct List and then join them using LINQ.</p>