首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有办法从缓存中检索实体,而不是从EF的数据库中检索?类似于ASP.NET缓存机制

问有没有办法从缓存中检索实体,而不是从EF的数据库中检索?类似于ASP.NET缓存机制
EN

Stack Overflow用户
提问于 2012-03-12 14:01:44
回答 1查看 67关注 0票数 1

在ASP.NET中,我们总是将一个对象或集合存储到缓存中,即当我们想要使用它们时,我们可以判断该对象或集合是否已经存在于缓存中,如果存在,则从缓存中检索,如果不存在,则从数据库中检索。EF是否有类似的机制,在调用context.ObjectSet.AddObject( object )或调用方法将对象附加到context后,将其保存到缓存中,当我们要检索该对象时,首先判断该对象是否已经存在于缓存中。有人能帮上忙吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-12 17:06:12

您必须查询ObjectStateManager以确定它是否已包含您的实体:

代码语言:javascript
复制
var entity = context.ObjectStateManager()
                    .GetObjectStateEntries(~EntityState.Detached)
                    .Where(e => !e.IsRelationship)
                    .Select(e => e.Entity)
                    .OfType<YourEntityType>()
                    .FirstOrDefault(...); // uniquely identify entity you are looking for
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9662389

复制
相关文章

相似问题

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