[英]Entity Framework: Multiple Where Statements Execution Plan
我正在計划准備一些方法,這些方法在DB表中返回已經過濾的元素集合,然后對這些集合執行查詢。 我想知道第一次過濾是作為一個單獨的語句執行還是會加入。
例如
public IQueryable<Person> GetAlivePersons(){
return db.Persons.Where(p => !p.IsDeceased);
}
public IQueryable<Person> GetElderPeople(){
return GetAlivePersons().Where(p => p.Age > 75);
}
第二種方法會不會一次或兩次擊中DB?
謝謝
只有在訪問結果集合時,才會在sql中轉換IQueryable
。 那是因為你的代碼命中了DB一次。 本主題解釋了這一點
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.