dbcontext 不包含“刷新”的定义

Posted

技术标签:

【中文标题】dbcontext 不包含“刷新”的定义【英文标题】:dbcontext does not contain a definition for 'Refresh' 【发布时间】:2012-11-01 13:04:42 【问题描述】:

我首先使用实体​​框架代码,但出现以下编译错误。 。我见过很多使用 Refresh 方法的例子。但是当我将 Refresh 方法添加到我的 dbcontext 时,我得到了一个编译错误。我正在使用以下命名空间。

using System.Data;
using System.Data.Entity;
using System.Data.Linq;

我错过了一个吗?我试图查找它,但没有找到命名空间。

【问题讨论】:

您在Refresh 中看到的任何示例都可能是DbContext 的派生版本 - 如果您可以发布一些有关如何使用上下文的代码会有所帮助。 这有帮助吗? ***.com/questions/5221314/… 【参考方案1】:

DbContext 确实没有 Refresh() 方法。

你看到的例子可能是使用ObjectContext.Refresh()。

你可以从另一个得到一个:

 db = new MyDbContext())
 ...   
 var ctx = ((IObjectContextAdapter)db).ObjectContext;
 ctx.Refresh();

这个question 有更多关于细节和差异的信息。

【讨论】:

【参考方案2】:

LINQ-to-SQL 有一个令人困惑的相似 DataContext 类,它有这个方法。

实体框架:没有。

【讨论】:

以上是关于dbcontext 不包含“刷新”的定义的主要内容,如果未能解决你的问题,请参考以下文章

为啥 DbContext 不实现 IDbContext 接口?

VB.NET如何在winform中“刷新”数据DbContext

以线程安全的方式使用 DbContext 进行异步搜索

如何包含没有类型定义的第 3 方模块(角度拉动刷新)

DbContext 模型中包含啥?

DbContext.set() 无法为实体创建 DbSet,因为此类型未包含在上下文的模型中