具有实体框架的参数化POCO构造函数

时间:2011-01-17 23:23:24

标签: entity-framework entity-framework-4 domain-driven-design poco code-first

根据Initial POCO Design 1-Pager

  

持久性无知是指存在   能够让开发人员写   并以某种方式测试域对象   完全独立于基础   可能的要求和假设   由基础设施服务部门提供   (在这种情况下,实体框架)。   这些要求/假设可以   通常包括:

     
      
  • 需要实现特定接口(例如,IPOCO)
  •   
  • 从基类继承
  •   
  • 提供特定构造函数
  •   
  • 对象实例化/构造要求 - 使用特定工厂   例如**
  •   
  • 需要元数据或映射类或属性Attributes
  •   
  • 需要使用特定的关系机制
  •   
     

这相当于能够使用   普通的旧CLR对象(PO​​CO)使a   开发者可以创作他们的域名   没有任何假设的对象   框架规定的要求。   使用这种方法,一旦域名   物体准备好了   满意度,开发人员可以使用   这些类与实体   框架以便为关系   数据库访问和持久性。

截至目前(CTP5),有没有办法使用参数化构造函数重构poco?如果没有,很难看出实体框架如何被认为可以提供持久性无知。

1 个答案:

答案 0 :(得分:8)

您可以拥有任意数量的参数化构造函数,只要框架可以访问无参数的构造函数,如果您没有构造函数,则默认情况下可用,或者除了参数化之外还提供一个参数化构造函数。你创造的。