【发布时间】:2010-11-08 09:25:58
【问题描述】:
我需要使用 Entity Framework 从数据库中加载一个现有 +/- 20 个表的模型。
所以可能有几种方法可以做到这一点:
- 使用一个巨大的 Include 调用
- 在手动迭代模型时使用多个 Includes 调用
- 使用多个 IsLoaded 和 Load 调用
这两个选项会发生什么
EF 创建了一个巨大的查询,给数据库带来了非常沉重的负载,然后再次映射模型。所以不是一个真正的选择。
数据库被调用了很多次,又是相当大的查询。
再次调用数据库的次数更多,但这次负载很小。
所有这些选项都对性能影响很大。我确实需要加载所有这些数据(绘图计算)。
那我该怎么办?
a) 重操作 => 重负载 => 什么都不做 :) b) 审查设计 => 但如何? c) 一个神奇的选项,可以让所有这些问题消失
【问题讨论】:
-
我需要进行 CAD 计算,这涉及访问模型的一大块(在特定节点下)。要知道特定项目应该在图纸上的什么位置,我需要知道它的父项在哪里,还需要知道它的类型和特征。这个逻辑适用于树中的所有项目......这有意义吗?如果不是,我会解释更多:)
-
现在很有意义。 ;-)
标签: performance entity-framework mapping