Eager Loading Eager loading giúp bạn load tất cả các entity trong 1 câu lệnh, tất cả các entity con sẽ được load ra trong 1 lần gọi duy nhất bằng cách dùng phương thức Include, sẽ trả về các entity liên quan như một phần của câu query và một lượng lớn dữ liệu sẽ được load ra 1 lần. Lưu ý: Vì nội dung tiếng anh nên tôi cố gắng dễ hiểu nhất có thể, đừng cố dịch sát nghĩa nhé Ví dụ, ta có một bảng Loai và bảng HangHoa (một hàng hóa tương ứng với 1 loại), tôi cần lấy toàn bộ thông tin loại và hàng hóa tương ứng với loại đó: Loai lo = context.Loais Lazy Loading Đây là một hành vi mặc định của Entity Framework, các entity con không được load ra chỉ khi bạn yêu cầu nó. Ví dụ, khi chúng ta chạy câu lện bên dưới, thông tin HangHoas sẽ không được tải ra theo bảng Loai: Loai lo = context.Loais.SingleOrDefault(a => a.MaLoai == loaiId); Khi nào nên áp dụng
Tốt nhất không nên dùng lazy loading cho Collection Property (query trong vòng lặp) vì nó sẽ gọi nhiều lần. Ngược lại với Navigation Property là 1 class thông thường thì sử dụng lazy loading sẽ tiết kiệm công sức cho bạn hơn. Tuy nhiên, vấn đề là do bạn chọn lựa "mình thích thì mình làm thôi"
0 Comments
Leave a Reply. |
Giới thiệuTrang thông tin bài viết hướng dẫn thao tác trên môi trường .NET Core Archives
November 2020
Categories |