首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >性能实体框架6启动和更新

性能实体框架6启动和更新
EN

Stack Overflow用户
提问于 2014-06-13 03:32:28
回答 2查看 137关注 0票数 0

我正在使用延迟加载和预先生成的视图。我创建了上下文。我得到了我所有的对象,大约6000多个导航被填充在大约3秒内。没问题。我第一次更新所有对象(4分钟...)我第二次更新所有对象(6秒)

我怀疑在后台运行的lazyloading和更新一定是在做一些使他重新循环或EF启动仍在加载的事情。

我用的是EF 6.1,数据是分层的。

数据库大小约为30个表中的6000行。

EF模型为DatabaseFirst。

有什么解决方法吗?

EN

回答 2

Stack Overflow用户

发布于 2014-06-13 03:38:18

如果您关心的是两次更新之间的时间差,我怀疑第二次更新运行得更快,因为修改的对象更少。

票数 0
EN

Stack Overflow用户

发布于 2014-06-13 03:42:53

为什么需要将所有对象加载到您的上下文中?您的上下文的生命周期是什么?

一般建议您为单个web请求或单个windows窗体创建单机版上下文。

您将进一步看到许多使用using语句的示例,其中上下文的生命周期被故意保持得非常短。让上下文存活太长可能会增加内存使用量,并增加并发问题的可能性。您的数据库和其他层也执行自己的缓存。

最后,延迟加载是很好的,只要你不知道你是否需要一些东西。如果您知道将需要相关记录,并且希望避免多次往返,则可以考虑显式加载数据。

http://msdn.microsoft.com/en-us/data/jj574232.aspx

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24192552

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档