Trong truy vấn đầu tiên, EF biên dịch mô hình. Điều này có thể mất một thời gian nghiêm túc cho một mô hình lớn như thế này.
Dưới đây là 3 gợi ý:http://www.fusonic.net/vi/blog/2014/07/09/three-steps-for-fast-entityframework-6.1-first-query-performance/
Tóm tắt:
- Sử dụng cửa hàng mô hình db được lưu trong bộ nhớ cache
- Tạo các chế độ xem được biên dịch trước
- Tạo phiên bản khung thực thể được biên dịch trước bằng cách sử dụng n-gen để tránh gặp sự cố
Tôi cũng sẽ đảm bảo rằng tôi biên dịch ứng dụng ở chế độ phát hành khi thực hiện các điểm chuẩn.
Một giải pháp khác là xem xét việc tách DBContext. 400 thực thể là rất nhiều và sẽ tốt hơn nếu làm việc với các phần nhỏ hơn. Tôi chưa thử nhưng tôi cho rằng có thể xây dựng từng mô hình một nghĩa là không có tải đơn nào mất 15 giây. Xem bài đăng này của Julie Lerman https://msdn.microsoft.com/en-us/magazine/jj883952.aspx