Câu hỏi phỏng vấn Entity Framework
Câu hỏi

Giải thích về Lazy Loading, Eager LoadingExplicit Loading?

Câu trả lời

Lazy Loading, Eager Loading và Explicit Loading là ba cách phổ biến để tải dữ liệu liên quan trong Entity Framework, một framework ORM (Object-Relational Mapping) được sử dụng trong .NET để làm việc với cơ sở dữ liệu một cách hiệu quả.

Lazy Loading

Lazy Loading là cơ chế mà dữ liệu liên quan sẽ chỉ được tải khi thực sự cần thiết, tức là khi truy cập vào thuộc tính navigation. Điều này giúp giảm bớt việc tải dữ liệu không cần thiết từ cơ sở dữ liệu, nhưng có thể dẫn đến vấn đề N+1 query, nơi một lượng lớn các truy vấn nhỏ được thực hiện thay vì một truy vấn lớn[1][2][3][6][7][8].

Eager Loading

Eager Loading là cơ chế tải tất cả dữ liệu liên quan ngay từ lúc thực hiện truy vấn ban đầu. Điều này được thực hiện thông qua phương thức Include() để chỉ định các thuộc tính liên quan cần tải. Eager Loading giúp giảm thiểu số lượng truy vấn đến cơ sở dữ liệu nhưng có thể dẫn đến việc tải một lượng lớn dữ liệu không cần thiết[1][2][3][6][7][9].

Explicit Loading

Explicit Loading là cơ chế tải dữ liệu liên quan một cách rõ ràng thông qua việc gọi phương thức Load() trên thuộc tính navigation. Điều này cho phép kiểm soát chính xác thời điểm và dữ liệu nào được tải, giúp cân bằng giữa Lazy Loading và Eager Loading. Explicit Loading thích hợp khi cần tải dữ liệu liên quan dựa trên điều kiện cụ thể hoặc hành động của người dùng[1][3][6][7][10].

Mỗi cơ chế tải dữ liệu này có ưu và nhược điểm riêng, việc lựa chọn phụ thuộc vào yêu cầu cụ thể của ứ...

middle

middle

Gợi ý câu hỏi phỏng vấn

senior

Sự khác biệt giữa Code First, Model FirstDatabase First là gì?

junior

Phương pháp Code First trong Entity Framework là gì?

junior

Các thuộc tính vô hướng và thuộc tính điều hướng trong Entity Framework là gì?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào