gpt4 book ai didi

c# - 存储库模式中的 IQueryable 与 IEnumerable,延迟加载

转载 作者:可可西里 更新时间:2023-11-01 03:07:06 24 4
gpt4 key购买 nike

我读过一些文章,指出 IEnumerable 用于模拟存储过程或限制您的数据库。失去了对外部提供商的延迟加载能力。

IQueryable 为开发人员提供了更大的灵 active 。那里有延迟加载。

就性能而言,两者都消耗大量性能..那么哪个更可取?

最佳答案

从Repository Pattern的角度,可以这样想:

  1. 如果您想一次性将整个列表传递给客户端,请使用预加载 IEnumerable。他们仍然可以添加 linq 子句,但客户端不会从延迟执行中受益。

  2. 如果您希望通过允许客户端添加自己的 linq 子句将延迟查询功能扩展到客户端,请使用延迟加载 IQueryable。这会推迟整个查询的执行,直到需要输出为止。

另请参阅
Deferred execution and eager evaluation

关于c# - 存储库模式中的 IQueryable 与 IEnumerable,延迟加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8947923/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com