在使用 Entity Framework Core (EF Core) 進行資料存取操作時,初次查詢時會有耗時較長的現象。這種延遲主要是因為 EF Core 在第一次執行查詢時需要進行一系列的初始化步驟。這些步驟造成的延遲可能會對效能敏感的應用程式造成不利的影響。例如在 WebAPI 服務中,如果初始化花費太多時間可能造成連線超時。而且在效能監測時,這種初始化所造成的延遲可能會產生極端的執行時間資料影響到效能的解讀。
為了解決這個問題,通常會在應用程式啟動階段加入一些預熱的操作,以提前完成一些必要的初始化步驟。這篇文章會介紹兩種預熱解法,要注意的是這兩個解法不是針對所有的初始化步驟,目的只是要達到觸發 DbContext.OnModelCreating()
的效果來降低首次查詢的延遲時間。