在表单应用程序中刷新EntityFramework

时间:2019-06-18 05:36:35

标签: c# database entity-framework repository

我想在表单应用程序中刷新数据库,但是我不知道该怎么办。我找到了一些代码,但是我不确定它是否可以用于获取最新数据以及应该在哪里写。

我尝试刷新或更新我的datagridview,但是没有用。

public static void ReloadEntity<TEntity>(
    this DbContext context, 
    TEntity entity)
    where TEntity : class
{
    context.Entry(entity).Reload();
}

2 个答案:

答案 0 :(得分:1)

  

我要刷新数据库

你不!你在想错了

  1. 不要缓存DbContext,这意味着不要打开它并无限期地保存它
  2. 对于简短的概念性工作,请使用using语句。连接已经被缓存在后台,并阻止了更多的问题发生。
  3. 不要将存储库与EntityFramework一起使用,这浪费了您99.4564564%的时间,也浪费了未来开发人员调试和升级代码的时间

答案 1 :(得分:0)

 public static void ReloadEntity<TEntity>(this DbContext context,                    TEntity entity)
             where TEntity : class
      {
         ((IObjectContextAdapter)context)
           .ObjectContext
           .Refresh(RefreshMode.StoreWins, entity);
      }