gpt4 book ai didi

c# - Entity Framework 数据加载策略对比

转载 作者:行者123 更新时间:2023-11-30 17:12:25 24 4
gpt4 key购买 nike

我正在阅读Programming Entity Framework: DbContext这本书,我刚刚阅读了关于三种数据加载类型的章节:

  • 延迟加载(默认)
  • 预加载
  • 显式加载

现在我问自己在哪种情况下哪种数据加载更好。具体比较就好了!我还没有找到。

例如,我在客户端的模块上使用默认延迟加载。该模块处理销售代表并暗示这些相关表格:

  • 代表
  • Reps_Zones
  • Reps_Prerequisites
  • 用户
  • Reps_Languages
  • 等等

在模块上,我使用所有这些表来分配约会(一次大约 150 个约会到 50 个代表),但速度很慢。使用不同的加载策略真的会提高性能吗?

最佳答案

延迟加载似乎最适合没有单独数据层的小型应用程序。一旦应用程序增长并且您开始将它分成不同的层,延迟加载就变得不那么有用了。当数据到达 UI 层时,DBcontext 早已被销毁,当您在数据层中时,指定要加载的属性并不是什么大问题。

延迟加载在验证时被关闭,所以如果一个属性被标记为必需的,而你只加载了父级,那么总是会抛出一个错误,这非常令人沮丧。

延迟加载还使调试变得相当棘手,因为查询在使用之前不会执行,因此您无法轻松地检查查询结果。我通常会在我的 EF 查询中添加一个 ToList() 或类似的查询,这样我就可以轻松地检查结果。

关于c# - Entity Framework 数据加载策略对比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10662029/

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