持久性无知是指存在 能够让开发人员写 并以某种方式测试域对象 完全独立于基础 可能的要求和假设 由基础设施服务部门提供 (在这种情况下,实体框架)。 这些要求/假设可以 通常包括:
- 需要实现特定接口(例如,IPOCO)
- 从基类继承
- 提供特定构造函数
- 对象实例化/构造要求 - 使用特定工厂 例如**
- 需要元数据或映射类或属性Attributes
- 需要使用特定的关系机制
这相当于能够使用 普通的旧CLR对象(POCO)使a 开发者可以创作他们的域名 没有任何假设的对象 框架规定的要求。 使用这种方法,一旦域名 物体准备好了 满意度,开发人员可以使用 这些类与实体 框架以便为关系 数据库访问和持久性。
截至目前(CTP5),有没有办法使用参数化构造函数重构poco?如果没有,很难看出实体框架如何被认为可以提供持久性无知。
答案 0 :(得分:8)
您可以拥有任意数量的参数化构造函数,只要框架可以访问无参数的构造函数,如果您没有构造函数,则默认情况下可用,或者除了参数化之外还提供一个参数化构造函数。你创造的。