实体框架返回缓存的数据

时间:2014-03-25 11:17:00

标签: entity-framework caching

我有一个datagridview绑定到一个表,该表是Entity Framework模型的一部分。用户可以编辑datagridview中的数据并将更改保存回SQL。但是,有一个存储过程也可以在SQL中更改数据,而不是在datagridview中。当我尝试"刷新" datagridview linq查询始终返回较旧的缓存数据。这是我尝试使用强制EF返回新数据的代码:

      // now refresh the maintenance datagridview data source
        using (var context = new spdwEntities())
        {
            var maintData =
                from o in spdwContext.MR_EquipmentCheck
                where o.ProdDate == editDate
                orderby o.Caster, o.Strand
                select o;
            mnt_DGV.DataSource = maintData;
        }

我已经看到一些帖子暗示了这种方法,但它对我没用。在In debug中,我可以看到SQL表中包含更新的数据,但是当这段代码运行时,maintData中包含旧数据。

我在其他几个数据网格中遇到了这个问题,我用一个非常丑陋的解决方法解决了这个问题。我需要清理所有这些。所以,我真的很感激任何建议。

1 个答案:

答案 0 :(得分:1)

您没有使用刚刚创建的变量context。相反,您的代码使用了一些未知来​​源的其他变量spdwContext。尝试更改此行

from o in spdwContext.MR_EquipmentCheck

from o in context.MR_EquipmentCheck