2012-12-28 216 views
0

我正在閱讀有關Nhibernate和EF之間差異的文章。 但我無法理解他們想要在一個字段上緩存。實體框架緩存

對於實體框架,ObjectContext/DbContext保存配置,模型並充當工作單元,持有對所有已知實體實例的引用。因此,這個類不像NHibernate的對象那樣輕量級,並且在實例緩存在字段上的例子很常見。

我沒有創建鏈接到文章,因爲我不是100%確定它被允許。

+1

是的,您可以提供文章鏈接。 – DOK

+0

[這是該文章嗎?](http://weblogs.asp.net/ricardoperes/archive/2012/06/07/differences-between-nhibernate-and-entity-framework.aspx) –

+0

[鏈接](http: //weblogs.asp.net/ricardoperes/archive/2012/06/07/differences-between-nhibernate-and-entity-framework.aspx) – JVGAG

回答

1

請仔細注意措詞;他們說的是DbContext本身,並且評論說看到「實例」(DbContext)緩存在字段上的例子並不少見。

他們的意思是,而不是在方法中創建和銷燬具有本地作用域的DbContext對象,您會看到人們將DbContext實例保存到更廣泛的對象的字段中並重用它。

+0

在存儲庫模式的情況下,在不同存儲庫之間共享上下文是不正常的嗎?同樣在MSDN [link](http://msdn.microsoft.com/zh-cn/library/cc853327.aspx)上有說明;打開和關閉數據庫連接的成本非常高。 – JVGAG

+0

@JVGAG'Repository!= DbContext!= Connection'。 ADO.NET(在Entity Framework後面運行)處理您的所有連接池。無論您的DbContext是否長壽,它都絕對沒有*。您鏈接的頁面說明了ADO.NET/EF處理所有這些 - 只需根據需要打開/關閉連接「 –

+0

他們是否在以下鏈接中使用此方法? [鏈接](http://www.asp.net/mvc/tutorials/getting-started-with-ef-using-mvc/implementing-the-repository-and-unit-of-work-patterns-in-an- asp-net-mvc-application) 他們爲多個存儲庫保存一個Dbcontext。 – JVGAG