Entity FrameWork5.0 视图问题

chengzq 2014-04-28 05:31:48
我在数据库建视图,然后通过EF映射成实体,该视图涉及A,B两个表,前台页面更新A表字段,
直接到数据库查询视图,显示字段已经更新,但是为什么程序查询该视图的时候,数据没有更新,
是EF做了缓存了吗?

附查询方法

private DbContext db = EFContextFactory.GetCurrentDbContext();
//查询
public IQueryable<T> LoadEntities(Func<T, bool> wherelambda)
{
return db.Set<T>().Where<T>(wherelambda).AsQueryable();
}
...全文
301 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
lizhiwu0792 2014-05-09
  • 打赏
  • 举报
回复
问题是这样的缓存 除了从新创建一个ef对象外 还有没有比较好的解决办法 假如某个项目需要 ef只能是个单例 怎么办
chengzq 2014-04-29
  • 打赏
  • 举报
回复
我觉得是db.Set<T>()这个地方有缓存
chengzq 2014-04-29
  • 打赏
  • 举报
回复
引用 3 楼 myhope88 的回复:
你获取的时候,要刷新呀,要不然肯定是缓存中的信息
怎么刷新呢?我是ajax异步请求的
chengzq 2014-04-29
  • 打赏
  • 举报
回复
引用 1 楼 banian_cn 的回复:
重新更新实体类试试,其实你这种A、B两个表根本不需要创建视图, 直接建表的时候做好外键关联,EF可以直接查询到关系表数据。
我这两个表没有建主外键关系
H_Gragon 2014-04-29
  • 打赏
  • 举报
回复
友情帮顶!
myhope88 2014-04-29
  • 打赏
  • 举报
回复
你获取的时候,要刷新呀,要不然肯定是缓存中的信息
aXen 2014-04-29
  • 打赏
  • 举报
回复
试试 Context.Entry(T).Reload();
Banianer 2014-04-28
  • 打赏
  • 举报
回复
重新更新实体类试试,其实你这种A、B两个表根本不需要创建视图,
直接建表的时候做好外键关联,EF可以直接查询到关系表数据。

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧