3
我打算準備一些方法,使我已經過濾了數據庫表中的元素的集合,然後對這些集合執行查詢。 我想知道如果第一個過濾將作爲一個單獨的聲明執行或將其加入。實體框架:多個地方聲明執行計劃
例如
public IQueryable<Person> GetAlivePersons(){
return db.Persons.Where(p => !p.IsDeceased);
}
public IQueryable<Person> GetElderPeople(){
return GetAlivePersons().Where(p => p.Age > 75);
}
將在第二方法打DB一次或兩次?
感謝
它可以隨時轉換爲SQL - 您可以將其轉換爲ObejctQuery並調用ToTraceString,您將獲得SQL。但它遵循與任何其他linq查詢相同的執行規則。您必須開始迭代收集或調用ToList或First等方法來執行查詢。 – 2011-03-01 09:09:25
那麼,這是一個方便的方法(ToTraceString),我不知道它存在。感謝那。 – willvv 2011-03-03 18:57:27