我正在開發一個項目,並將實體框架4用作我的ORM。我正在實施POCO課程。我用EF 4和POCO看到的每個例子都實現了與公共設置者的所有屬性。這是我可以在EF 4上使用POCO課程的唯一方法嗎?我所有的創作者都需要公開嗎?實體框架4和公共屬性
2
A
回答
0
1
這取決於你如何使用您的實體。
「POCO」實體是一種謊言(在任何框架中)。真正的POCO可能具有私有或非虛擬狀態,並且沒有序列化規定,因此無法進行變更跟蹤。在O/R映射中你可以用它們做的唯一事情就是實現它們。
因此,人們談論映射「POCO」時,通常會採取某種形式的妥協來允許更改跟蹤。他們不是真正的「POCO」;他們是「所謂的POCO」。
妥協的一種方法是公開所有持久狀態。然後,您可以通過快照進行更改跟蹤。
妥協的另一種方法是使所有持久狀態保護/虛擬。然後你可以通過代理來改變跟蹤。這些物業沒有必要公開。
EF不支持參數化構造函數(尚未),因此構造函數注入(可能是您的「純」POCO案例的最佳解決方案)現在不是一個選項。
相關問題
- 1. 在實體框架中隱式設置公共屬性6
- 2. 實體框架4和POCO
- 3. 實體框架4和WPF
- 4. 實體框架ID屬性
- 5. 覆蓋實體框架實體屬性
- 6. 實體框架和SQL Server表屬性
- 7. 實體框架4.1 InverseProperty屬性和ForeignKey
- 8. 實體框架查詢和is_removed屬性
- 9. WPF和實體框架導航屬性
- 10. 實體框架4 - 數據透視表和導航屬性
- 11. 實體框架4覆蓋自己類屬性的Equals和GetHashCode
- 12. 實體框架搜索實體屬性和實體ICollection
- 13. 實體框架4
- 14. 實體框架4
- 15. 實體框架:一對多關係的公共實體
- 16. WCF和實體框架,隱藏一個列/實體屬性
- 17. 實體框架和Oracle公共數據庫鏈接
- 18. 實體框架:母公司
- 19. 實體框架4,更新特定屬性
- 20. 實體框架4,自定義屬性。添加一些trabilityment
- 21. 如何枚舉屬性在實體框架圖4
- 22. 實體框架4/MVC3導航屬性困境
- 23. 實體框架4從數據源丟失的導航屬性
- 24. Silverlight 4實體框架將DataGridColumn綁定到導航屬性
- 25. 作爲MVVM數據綁定的ViewModel的屬性公開實體框架實體
- 26. 實體框架4從實體集合
- 27. 實體框架4 ObjectContext GuideLines
- 28. 實體框架4 DDL
- 29. 實體框架4 - 關聯
- 30. 實體框架4 POCO代
我明白爲什麼這些房產標記爲虛擬,但爲什麼房產的設置者必須公開?我有對象的ID,我不希望外部對象修改。 – William 2010-05-05 22:04:00
那麼該物業將如何設置? – 2010-05-05 22:17:01
這就是我問的問題。我有屬性是對象標識符,一旦對象被加載/創建就不應該被修改。看來如果我使用EF 4和POCO類,這是不可能的。 – William 2010-05-06 03:10:33