Linq中的这个空集代码是否进行了数据库调用?

时间:2015-11-13 14:40:33

标签: c# performance linq

我在我正在处理的应用程序中遇到了以下这行。想知道这样做是否错误:

var rows = from t in _modelRepository.Fetch<AssignTargetAutoGradeTABLENAME>() where false select t;

我正在创建一个空集。上面的行是否进行数据库调用以创建空的&#34;行&#34;?

我很感激一些见解。

1 个答案:

答案 0 :(得分:1)

创建此查询对象不会进行调用,但枚举它会在LINQ to SQL和Entity Framework中进行。显然,这是LINQ提供商特定的。

SQL Server会优化对常量扫描的表访问,但如果执行查询,调用仍然会访问数据库。