Bạn vẫn có thể sử dụng các cấu trúc EF thông thường bằng cách chỉ ánh xạ các lớp của mình vào các bảng tương ứng của chúng và buộc tham gia vào 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});
}
Tôi nghĩ đó là cách duy nhất, ít nhất là tối đa EF6.