Entity framework 实体框架缓存

Entity framework 实体框架缓存,entity-framework,caching,Entity Framework,Caching,我正在读一篇关于Nhibernate和EF之间差异的文章。 但我无法理解他们想对字段上的缓存说些什么 对于实体框架,ObjectContext/DbContext保存配置、模型并充当工作单元,保存对所有已知实体实例的引用。因此,这个类不像它的NHibernate对应物那样轻量级,并且在一个字段中缓存实例的例子并不少见 我没有创建文章的链接,因为我不是100%确定它是允许的。仔细注意措辞;他们谈到了DbContext本身,并指出在字段中缓存“实例”(DbContext)的示例并不少见 他们的意思是

我正在读一篇关于Nhibernate和EF之间差异的文章。 但我无法理解他们想对字段上的缓存说些什么

对于实体框架,ObjectContext/DbContext保存配置、模型并充当工作单元,保存对所有已知实体实例的引用。因此,这个类不像它的NHibernate对应物那样轻量级,并且在一个字段中缓存实例的例子并不少见


我没有创建文章的链接,因为我不是100%确定它是允许的。

仔细注意措辞;他们谈到了
DbContext
本身,并指出在字段中缓存“实例”(DbContext)的示例并不少见


他们的意思是,与在方法中创建和销毁具有局部作用域的
DbContext
对象不同,您将看到人们将
DbContext
实例保存到更广泛对象的字段中并重用它。

Yes,您可以提供文章的链接。在存储库模式下,在不同的存储库之间共享您的上下文不是很正常吗?如MSDN上所述;打开和关闭数据库连接的成本非常高。@JVGAG
Repository!=DbContext!=连接
。ADO.NET(运行在实体框架之后)为您处理所有连接池。DbContext是否长期存在与此毫无关系。您链接到的页面说明ADO.NET/EF为您处理所有这些-仅在“需要时”打开/关闭连接。他们在下面的链接中使用这种方法吗?他们为多个存储库保留一个Dbcontext。@JVGAG他们在多个存储库中“保留”一个Dbcontext,是的。但是,顺便说一句,这与底层数据库连接无关。