Tôi có một ứng dụng web ASP.NET MVC 5 và sử dụng EF 6.1 để truy cập vào DB của tôi.
Tôi có một số truy vấn LINQ khá phức tạp, mất đến 10 giây để biên dịch, nhưng sau đó thực thi sau vài mili giây. EF làm bộ nhớ cache truy vấn này tốt và lần thứ hai truy vấn được thực hiện nó trả về trong vòng vài mili giây này.
Tuy nhiên, bộ nhớ cache này không được duy trì nên mỗi khi khởi động lại ứng dụng, truy vấn cần phải được biên dịch lại, điều này sẽ mất 10 giây đó.Bộ nhớ cache truy vấn của Entity Entity Framework
Có cách nào để duy trì bộ nhớ cache truy vấn này để nó tồn tại khi khởi động lại ứng dụng không?
truy vấn
http://www.fusonic.net/en/blog/2014/07/09/three-steps-for-fast-entityframework-6.1-first-query-performance/ –
Cảm ơn bạn đã liên kết nhưng tôi đã làm hầu hết điều này và nó không xử lý bộ đệm truy vấn, nhưng chỉ có bộ nhớ đệm mô hình ... – ChrFin
Bộ nhớ truy vấn là một từ điển bên trong QueryCacheManager. Tôi đã thử lưu nó bằng cách sử dụng sự phản chiếu, nhưng vì QueryCacheKey và QueryCacheEntry không được công khai và không được đánh dấu là Serializable nên không thể. Lưu/tải bộ đệm kế hoạch truy vấn sẽ là một tính năng rất hữu ích, vì vậy bạn nên tạo một vấn đề trên http://entityframework.codeplex.com/workitem/list/advanced –