实体框架:如何检测数据库的外部更改

Mer*_*aya 20 c# database stored-procedures entity-framework

我有一个存储过程,可以更改数据库中的大量数据.从应用程序调用此存储过程,同时使用EF进行数据操作.

所以我点击一个按钮,存储过程在数据库中运行,数据被更改,EF显示旧数据给用户.

有没有办法强制DbContext或ObjectContext刷新数据库中的数据?ObjectContext.Refresh()可能是解决方案,但我不想为每个可能更改的表调用此方法.我希望一次性刷新所有表格.

我正在使用Entity Framework 5,面向.NET 4.0

编辑:已添加数据,但EF不反映现有数据的修改.我看到新添加的记录,但我看不到我对现有记录所做的更改.

use*_*702 16

DbContext应该是短暂的.创建它,运行查询并处理它.

using (var context = new MyProject.DbContext())
{
    // run your query here
}
Run Code Online (Sandbox Code Playgroud)

不要保持你的背景.这样你就不会有旧数据的任何问题.