Du kan fortfarande använda vanliga EF-konstruktioner genom att bara mappa dina klasser till deras motsvarande tabeller och tvinga sammanfogningen i LINQ-To-Entities:
using(var ctx = new MyDbContext())
{
return ctx.TableA
.Join(ctx.TableB, a=>a.B_Id, b=>b.Id, (a,b)=>
new QueryResult{TableA=a, TableB=b});
}
Jag tror att det är det enda sättet, åtminstone upp till EF6.