我正在考慮在新項目中應用實體框架,因爲我喜歡它的OR/M-API以及存儲/概念模型映射功能(當然還有Linq和實體SQL)。實體框架和應用程序體系結構(鬆耦合等)
但是如果EF實體被用作兩者中的數據持有者,如何在UI層和業務層之間實現鬆耦合。如果在駐留在用戶界面中的時候將這些實體附加到它們的ObjectContext中,那麼UI可能會繞過業務層並直接連接到數據庫。如果我將實體從ObjectContext中分離出來,然後將它們傳遞給用戶界面,將不會有更改跟蹤,因此我必須「重放」業務層中的所有更改,以便將它們保存到數據庫中(難以實現,尤其是親子關係)。雖然我不希望業務層降級到「對象樹持久性引擎」,但有些情況下具備此功能會有所幫助。
這當然也適用於其他OR映射器,但幾種替代產品似乎有更好的分離/附着機制。
-1:與問題無關 – 2009-06-08 12:55:24
實際上,回顧一下我發佈這個問題的時候,Entity Framework如何發展,這是非常了不起的。當時的問題是基於這樣一個事實,即人們必須直接與EF聯繫才能使用它。現在情況已經改變了(遠)。 – Min 2013-12-05 16:07:18