首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >EF5 .Local性能

EF5 .Local性能
EN

Stack Overflow用户
提问于 2012-10-21 00:56:14
回答 1查看 484关注 0票数 1

我在一个大约有43k行的表上执行此操作:

代码语言:javascript
复制
MyDbContext.Stores.Load();
MyDbContext.Stores.Local.Count.Dump(); //horrible performance!

通过分析器,我可以看到第一条指令触发select语句来获取所有行。实际上,第二条指令在大约12秒后返回正确的值,考虑到所有数据都应该在内存中,这并不是我所期望的。实体框架中的.Local有什么问题(或者它的真正目的是什么)?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-21 01:03:43

我认为你应该这样做:

代码语言:javascript
复制
var stores = MyDbContext.Stores.ToList();

// stores is in memory after executing .ToList()
var count = stores.Count();

DbSet.Local Property

此属性返回一个ObservableCollection,其中包含当前由给定DbSet的上下文跟踪的所有未更改、已修改和已添加的对象。返回的observable集合与基础DbSet集合和上下文的内容保持同步。这意味着您可以修改可观察的集合,或者在底层DbSet集合中添加/删除实体(包括通过执行查询添加实体),并且这两个集合将被同步。

此属性通常在数据绑定应用程序中使用。

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

https://stackoverflow.com/questions/12990662

复制
相关文章

相似问题

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