Puoi comunque utilizzare le normali costruzioni EF semplicemente mappando le tue classi alle tabelle corrispondenti e forzando il join in 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});
}
Penso che sia l'unico modo, almeno fino a EF6.