C# 如何在Entity Framework 7中重新加载模型?

C# 如何在Entity Framework 7中重新加载模型?,c#,entity-framework,caching,entity-framework-core,C#,Entity Framework,Caching,Entity Framework Core,我已经了解到,在entity framework的早期版本中,您可以访问Reload()方法,如下所示:Db.Entry(_me).Reload() 我从EntityEntry不包含“重新加载”的定义中得到一个错误 我甚至想重新加载的原因是缓存(或者我认为是缓存,并且可能不知道何时使缓存无效) 例如: 加载用户A。 创建userA将拥有的项目。 尝试通过用户上的关系访问该新项目。 userA.Items返回空 从数据库中重新获取userA,并调用关系,新创建的项位于关联中 不确定发生这种情况的原

我已经了解到,在entity framework的早期版本中,您可以访问
Reload()
方法,如下所示:
Db.Entry(_me).Reload()

我从EntityEntry不包含“重新加载”的定义中得到一个错误

我甚至想重新加载的原因是缓存(或者我认为是缓存,并且可能不知道何时使缓存无效)

例如:

加载用户A。
创建userA将拥有的项目。
尝试通过用户上的关系访问该新项目。 userA.Items返回空
从数据库中重新获取userA,并调用关系,新创建的项位于关联中


不确定发生这种情况的原因,或者是否有办法让EF了解缓存失效。

不支持这种方法,但您可以通过检查元数据通过代码来实现。请看下面的示例:。

您不能直接将项目添加到userA吗<代码>项目myItem=新项目(…);userA.Items.Add(myItem);SaveChanges()
你确定没有禁用代理创建吗?我怎么知道我是否禁用了代理创建?
上下文。配置。ProxyCreationEnabled
必须为true如果你没有触摸它,它看起来没有上下文上的配置属性很好,默认情况下已启用:)