确保实体框架始终从数据库读取?

Vin*_*lad 5 entity-framework entity-framework-4 objectcontext

我有这个应用程序,它实际上是两个应用程序,一个 web 应用程序和一个控制台应用程序。控制台应用程序用作 Windows 机器上的计划任务,每天执行 3 次以执行一些重复性工作。这两个应用程序使用相同的模型和存储库,它们放置在单独的项目(类库)中。问题是,如果控制台应用程序需要对数据库进行一些更改,它会更新模型实体并将更改保存到数据库,但是当发生这种情况时,webb 应用程序中的上下文不知道这一点,因此对象上下文不会刷新新的/更新的数据和应用程序的用户无法看到更改。

我的问题是:有没有办法告诉 objectcontext 总是从数据库加载数据,无论是在孔 objectcontext 上还是针对特定查询?

/问候文布拉德

Lad*_*nka 2

我认为你不应该在网络应用程序中遇到这个问题。Web 应用程序中的 ObjectContext 应根据请求创建,因此只有更新期间的请求处理才会受到影响。

无论如何,很少有方法可以强制 ObjectContext 重新加载数据。查询和加载函数允许传递 MergeOption,它应该能够覆盖当前数据。但最有趣的应该是 Refresh 方法,尤其是对于这个应用程序