Câu trả lời của Jon sẽ hoạt động, nhưng IMHO sử dụng tham gia vào LINQ với Đối tượng thường không chính xác , bởi vì nó trùng lặp mã trong mô hình của bạn. Tôi có thể viết lại truy vấn của Jon theo cách đơn giản hơn nhiều trong L2E:
var query = from customer in db.Customers
from order in customer.Orders
from product in order.Products
from info in product.Info
select new
{
customer.Name,
info.BriefDescription
}
Đó là khoảng 50% việc nhập và 0% mã trùng lặp. Hãy xem xét rằng các mối quan hệ của bạn đã được xác định trong DB và trong mô hình của bạn. Bạn có thực sự muốn sao chép chúng một lần nữa trong mỗi truy vấn bạn viết và ngắt các truy vấn khi bạn cấu trúc lại mô hình của mình không?