单独的实体会帮助减少消耗的内存吗? (实体框架)

时间:2017-02-21 08:47:10

标签: sql-server entity-framework azure

我们有一个很大的会计项目,包含300多个表。

然后,我们有不同的模块 - 财务,Checkroll等。

目前,每个模块都在加载一个包含所有这些表的巨型Edmx实体。它非常笨重,只是为了在Edmx中添加一列而加载了很长时间。

所以,我建议将实体分开。理想情况下,每个模块应仅包含属于他的表。希望有了这个,它可以最大限度地减少服务器上的内存使用量。

然后,正如预期的那样,有些人拒绝这些想法。他们声称Linq的工作方式类似于lazyload,并没有太多帮助(减少服务器负载/减少内存消耗) - "如果你不在linq查询中使用该表,它会赢得&消耗额外的内存。"

我想证明该陈述是否有效。你的练习通常如何?

1 个答案:

答案 0 :(得分:3)

为了最大限度地减少内存消耗,请使用较小的DbContexts,并使用gcServer设置(如果您运行控制台应用程序或Windows Servce) - 您还可以执行其他操作,请参阅MSDN白皮书Performance Considerations for EF 4, 5, and 6。< / p>