Tôi quan tâm đến việc sử dụng AsNoTracking
với các truy vấn LINQ chọn để cải thiện hiệu suất. Tôi đang sử dụng Entity Framework 5 với Code First.AsNoTracking bằng cách sử dụng cú pháp truy vấn LINQ thay vì cú pháp Phương pháp
Tuy nhiên, tất cả truy vấn của tôi được viết bằng cú pháp LINQ truy vấn và tất cả các ví dụ AsNoTracking
được hiển thị bằng cú pháp Phương pháp. Tôi biết rằng AsNoTracking
đã được tạo cho cú pháp Phương pháp nhưng làm cách nào để tôi đạt được điều tương tự với cú pháp Truy vấn?
AsNoTracking KHÔNG cải thiện hiệu suất, vì nó cho phép EF tiếp xúc các nguồn dữ liệu trên mỗi cuộc gọi. Theo dõi là do đó cũng bộ nhớ đệm và cải thiện hiệu suất. – Robert
Xin chào Robert, điều đó thật thú vị vì tôi đã đọc rất nhiều bài viết hướng tới AsNoTracking() để cải thiện hiệu suất khi sử dụng SELECT mà không cần phải cập nhật. Ví dụ: http://blog.staticvoid.co.nz/2012/4/2/entity_framework_and_asnotracking – Mitch
Ok, để chính xác: AsNoTracking thực sự nhanh hơn khi tìm nạp dữ liệu chưa được tìm nạp trước đó, bởi vì nó không cần kiểm tra xem dữ liệu mong muốn đã có sẵn (tất nhiên là sẽ nhanh nhất). – Robert