2010-05-17 16 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。
相關問題