【发布时间】:2011-10-18 03:17:05
【问题描述】:
我有一个循环遍历表的存储过程,它可能会在该表中插入一些记录。它工作正常。我可以使用 management studio 看到 db 中的变化。
问题是在那之后我将调用另一个将返回一个集合的存储过程。但它总是返回一个缓存值或类似的东西。数据库中的最新更改没有反映在返回的列表中。有什么想法吗?
编辑
我正在导入存储过程以使用 EF 运行。我所做的所有操作都是通过 EF 进行的。 检查以下代码
TraktorumEntities db = new TraktorumEntities();
var test= db.GetAvailableAttributes(CategoryID).ToList(); // here i get cached values .How can i force to fetch data from data base
【问题讨论】:
-
这是ORM的问题。一旦您使用在 ORM 之外进行更改的存储过程,ORM 就不会知道它们,您必须明确强制它重新加载数据。用
MergeOption试试@Adam 的建议。如果它不起作用,请使用新的上下文来执行第二个存储过程。
标签: asp.net-mvc-3 entity-framework caching