2010-05-17 49 views
2

Entity Framework是否有像DataSet/DataTables那样的缓存机制?Entity Framework是否有像DataSet/DataTables那样的缓存机制?

换句话说,如果您开始使用EF,它实际上只是一种轻松地将数据导入/导出数据库的方式,而无需像DataSet/DataTables那样提供额外的缓存层,线/离线),并在某些时候,你可以说“坚持所有更改到数据库”

回答

2

取决于您所指的缓存有多复杂。

EF有一个对象缓存。请参阅...

Identity Resolution, State Management, and Change Tracking

的ObjectContext的代表容器在内存中的对象。对象上下文在其他类和接口的帮助下管理对象的身份,状态,对象属性的原始值和当前值,并跟踪对缓存中的每个对象所做的更改。

和...

Saving Changes and Managing Concurrency

这些文章有所介绍EF对象缓存。

如需进一步缓存,你可以写一个包装在... http://blogs.msdn.com/efdesign/archive/2008/07/09/transparent-caching-support-in-the-entity-framework.aspx

1

你可以看看这个caching provider实体框架。它包含可以在应用程序中使用ICACHE接口3个实现:

  • AspNetCache - 超高速缓存使用 ASP.NET缓存机制。
  • InMemoryCache - 简单的内存中 缓存,基本LRU到期 策略。
  • VelocityCache - 执行缓存使用 Microsoft分布式缓存代码名称 “Velocity”CTP3。
相关问题