2011-05-24 160 views
4

如果我想使用實體框架4作爲我的數據層,並且想要將我的實體發送到另一個層,無論它是通過WCF還是其他機制,然後希望能夠更新實體並將它們發回以更新/刪除/插入是最好使用自我跟蹤實體還是使用poco對象?實體框架和自我跟蹤實體與POCO

如果可能的話,我寧願使用POCO對象,因爲如果可能,我不想依賴其他層的實體框架,但我不知道將POCO重新連接到上下文有多困難。

回答

8

這是太多的問題相結合,其中大部分已經有人對SO:

使用國營貿易公司不會讓你的上層依賴於EF,但如第二個鏈接中所述,STE對於每個應用都不是解決方案。國營貿易企業有一些其他的限制,例如即使在服務器端you cannot use lazy loading,你cannot apply changes when entity in the same key already exists在上下文等

使用波蘇斯和WCF意味着你將與分離的實體工作,你將不得不說EF發生了什麼變化。這在updating single entity的情況下可以很簡單,也可以爲update only some fields from single entity,但這可能是very complex when updating the entity graph,尤其是當您可以刪除客戶端上的關係時(在這種情況下,最簡單的方法是首先加載實體圖並將傳入的更改合併到附加實體)。