我正在使用ASP.Net4.5.1 & EF6.0代碼優先的方法。如何在EF Code-First中預編譯sql查詢?
我意識到查詢需要花費大量時間來執行。我已經使用EF Profiler來檢查查詢&的查詢。
我使用Google搜索&來了解編譯Linq。
這些是我得到的鏈接。
- https://stackoverflow.com/questions/32175040/how-to-cache-queries-in-ef-code-first
- How do I precompile an Entity Framework Code-First Query?
- Entity Framework Compiled Query
但他們都不是解決我的問題。
假設我有下面的查詢。
public IEnumerable<Student> GetStudents()
{
using(DbContext db = new DbContext()
{
IQueryable<Student> query = (from c in db.Students
where c.Hobby== "Hockey"
select c);
IEnumerable<Student> students= query.toList<Student>();
return students;
}
}
現在如何緩存查詢計劃或編譯這個Linq來提高性能?
這裏要問的另外一件事,是EF比原生SQL慢嗎?
我更喜歡使用EF/ORM,這是正確的選擇嗎?
我們是在談論第一個查詢執行(通常包括視圖生成時間)還是一般的查詢執行? – tschmit007
@ tschmit007 查詢執行 –
此代碼是否與您的應用程序或示例代碼無關?根據你的一些回覆,似乎你還沒有發佈真實的代碼。如果是這樣的話,很難提供幫助。 –