我有一个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中包含旧数据。
我在其他几个数据网格中遇到了这个问题,我用一个非常丑陋的解决方法解决了这个问题。我需要清理所有这些。所以,我真的很感激任何建议。
答案 0 :(得分:1)
您没有使用刚刚创建的变量context
。相反,您的代码使用了一些未知来源的其他变量spdwContext
。尝试更改此行
from o in spdwContext.MR_EquipmentCheck
到
from o in context.MR_EquipmentCheck