首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >实体框架-防止上下文中的缓存

实体框架-防止上下文中的缓存
EN

Stack Overflow用户
提问于 2017-02-15 18:23:14
回答 1查看 32关注 0票数 1

我有一个实体框架为基础的Web API,读取和写入数据到Mssql数据库。如果您不想在每次访问任何数据时都访问数据库,则Context非常有用,因为它会缓存您以前使用过的数据。

但我的问题就在这里;

我有一个独立工作的爬虫和更改数据库。因此,我的web应用程序上下文不知道爬虫更改了什么。因为当我尝试访问数据时,它会显示上下文中的数据。

那么,我如何防止上下文中的缓存,我怎么能说为每个请求从mssql读取数据呢?

EN

回答 1

Stack Overflow用户

发布于 2017-02-16 14:06:15

如果您知道某个实体在当前上下文之外被修改,则可以通过Reload方法重新加载它:

通用版本可能如下所示:

代码语言:javascript
复制
 public T Reload<T>(T entity) where T : class
 {
    Context.Entry(entity).Reload();
    return entity;
 }

顺便说一句,在大多数情况下,特别是在Web API/MVC的情况下,由于对EF上下文的生命周期进行了适当的管理(您必须为每个请求创建上下文的新实例),您可以避免此类问题。

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

https://stackoverflow.com/questions/42246605

复制
相关文章

相似问题

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