2
如果我打算使用數據緩存,當使用延遲加載時,是否也必須擔心衝突?看來,與linq我失去了我的數據控制。使用數據緩存和延遲加載時是否存在衝突?
如果我打算使用數據緩存,當使用延遲加載時,是否也必須擔心衝突?看來,與linq我失去了我的數據控制。使用數據緩存和延遲加載時是否存在衝突?
LinqToSql和EntityFramework都提供了這兩種功能(延遲加載和數據緩存)。
例如,如果您最初加載客戶,該客戶將被緩存,如果再次請求,您將得到相同的實例。
如果您在初始加載期間未加載客戶訂單,那麼該客戶實例的訂單屬性將處於卸載狀態。當您加載這些訂單時,訂單實例將通過該屬性可用。
在這兩種技術中,上下文都是緩存......所以如果您使用多個上下文實例 - 您可以觀察不同的實際上代表相同客戶的客戶實例。
在評論中解決您的問題。我會談論LinqToSql,但這些東西也應該在EntityFramework中工作。
如果我關閉延遲加載我拿它的數據緩存仍然會工作?
是的,這將工作。但是,它們並不完全獨立。
數據緩存刷新取決於數據表和/或時間是否有變化?
沒有刷新或重置緩存。如果你想要一個新的緩存,那麼要做的是創建一個新的DataContext。每個DataContext實例都有自己的緩存。
如果我關閉延遲加載我認爲它的數據緩存仍然工作?數據緩存刷新取決於數據表和時間是否有變化? – zsharp 2009-01-28 18:30:18