c# - IQueryable<T> 相对于 IList<T> 的优势

标签 c# linq generics

在 C# DAL 中,如果我返回 IQueryable 而不是 IList,我会得到什么优势,我没有使用 Entity Framework/N Hibernate,只是普通的旧 ADO.Net..

最佳答案

我相信返回 IQueryable 允许惰性枚举,而返回 IList 则不允许。

如果返回 IList,则在 DAL 返回 IList 时对数据库执行查询。返回 IQueryable,可以传递返回值,并且仅当您检查 IQueryable 的内容时才执行查询。

(这是基于我对 LINQ to SQL 的经验 - 但我没有根据权威来源检查过)

关于c# - IQueryable<T> 相对于 IList<T> 的优势,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4444380/

相关文章:

c# - 检索包含所有子元素(和子子元素)的对象

c# - IGeoPositionWatcher<GeoPosition>.PositionChanged 没有被解雇,但是 GeoCoordinateWatcher.PositionChanged 是

c# - GMap .net 离线

ios - 在 Swift 中为我的函数实现更通用的方法

swift - 协议(protocol)和通用函数中的关联类型使用

c# - 所有类的变量相同

c# - 如何从一个 Visual Studio 项目创建两个不同的可执行文件

c# - 使用 Linq 从数据库中获取项目的最小值和最大值

c# - AsNoTracking 方法在 linq 语句中抛出错误

c# - 当 T 为 IEnumerable<TP> 时,将类型 T 的泛型参数转换为 List<TP>