Ví dụ: giả sử bạn muốn có danh sách tất cả khách hàng của mình:
var customers = context.Customers.ToList();
Và giả sử rằng mỗi Customer
đối tượng có một tham chiếu đến tập hợp của nó Orders
, và mỗi đối tượng Order
có tham chiếu đến LineItems
mà cũng có thể tham chiếu a Product
.
Như bạn thấy, việc chọn một đối tượng cấp cao nhất có nhiều thực thể liên quan có thể dẫn đến một truy vấn cần lấy dữ liệu từ nhiều nguồn. Là một thước đo hiệu suất, Include()
cho phép bạn chỉ ra các thực thể liên quan nào nên được đọc từ cơ sở dữ liệu như một phần của cùng một truy vấn.
Sử dụng cùng một ví dụ, điều này có thể mang lại tất cả các tiêu đề đơn hàng có liên quan, nhưng không có bản ghi nào khác:
var customersWithOrderDetail = context.Customers.Include("Orders").ToList();
Điểm cuối cùng kể từ khi bạn yêu cầu SQL, câu lệnh đầu tiên không có câu lệnh có Include()
thể tạo ra một câu lệnh đơn giản:
SELECT * FROM Customers;
Câu lệnh cuối cùng mà các cuộc gọi Include("Orders")
có thể trông giống như sau:
SELECT *
FROM Customers JOIN Orders ON Customers.Id = Orders.CustomerId;