在Linq中调用Select()或GroupBy()实体是否会触发查询数据库?

use*_*867 8 linq linq-to-entities entity-framework

我很难说linq中的哪些操作会导致向数据库发出SQL命令.

我知道调用ToList()或使用foreach迭代将导致查询运行但是Select和GroupBy会导致代码在数据库上执行吗?

Jul*_*ain 7

不,他们没有,如果他们被正确调用IQueryable而不是IEnumerable,他们被编译为表达式,稍后将被翻译为SQL.

您可以使用intellisense工具提示查看哪个是当前调用的方法.如果扩展方法的第一个参数IEnumerable不是IQueryable,那么您将遇到数据库查询.