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