我正在开发一个项目,并将实体框架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和WPF
- 3. 实体框架4和POCO
- 4. 覆盖实体框架实体属性
- 5. 实体框架4 - 数据透视表和导航属性
- 6. 实体框架4覆盖自己类属性的Equals和GetHashCode
- 7. 实体框架4.1 InverseProperty属性和ForeignKey
- 8. 实体框架查询和is_removed属性
- 9. 实体框架搜索实体属性和实体ICollection
- 10. 实体框架4
- 11. 实体框架4
- 12. 实体框架:一对多关系的公共实体
- 13. 实体框架和Oracle公共数据库链接
- 14. Silverlight 4实体框架将DataGridColumn绑定到导航属性
- 15. 实体框架4,自定义属性。添加一些trabilityment
- 16. 如何枚举属性在实体框架图4
- 17. 实体框架4从数据源丢失的导航属性
- 18. 作为MVVM数据绑定的ViewModel的属性公开实体框架实体
- 19. 实体框架4从实体集合
- 20. 查询实体框架4
- 21. 实体框架4 - 继承
- 22. 实体框架4 POCO代
- 23. 实体框架4 - 关联
- 24. 实体框架4或DataSet?
- 25. 实体框架4约定
- 26. 实体框架4 ObjectContext GuideLines
- 27. 实体框架4 DDL
- 28. 实体框架4与Oracle
- 29. 实体框架4 vs NHibernate
- 30. 实体框架4:Phantom MDF
我明白为什么这些房产标记为虚拟,但为什么房产的设置者必须公开?我有对象的ID,我不希望外部对象修改。 – William 2010-05-05 22:04:00
那么该物业将如何设置? – 2010-05-05 22:17:01
这就是我问的问题。我有属性是对象标识符,一旦对象被加载/创建就不应该被修改。看来如果我使用EF 4和POCO类,这是不可能的。 – William 2010-05-06 03:10:33