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

本文关键字:是否 数据库 调用 代码 空集 Linq | 更新日期: 2023-09-27 18:21:45

我在一个正在开发的应用程序中遇到了下面这行。我想知道这样做是否错误:

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

我正在上面创建一个空集。上面的行是否进行DB调用以创建空的"行"?

我希望能有一些真知灼见。

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

创建此查询对象不会调用,但在LINQ to SQL和实体框架中枚举它会调用。显然,这是特定于LINQ提供者的。

SQL Server会优化对Constant Scan的表访问,但如果执行查询,调用仍然会命中数据库。