代码之家  ›  专栏  ›  技术社区  ›  JoseMarmolejos

在一个解决方案中使用poco、实体和ViewModels感觉太过了

  •  1
  • JoseMarmolejos  · 技术社区  · 15 年前

    最新版本的实体框架让我爱上了它,尽管它仍然很好,但我不喜欢使用实体对象作为域对象来解决所有明显的问题,所以我要做的是在我的服务中转换检索到的实体对象,并将poco返回给使用该服务的任何人。由于automapper,从pocos到实体的转换和返回在服务内部产生了一些易于维护的代码。当您将ViewModels添加到图片中,并最终将viewmodel映射到控制器中的poco,然后将poco映射到服务中要存储在存储库中的实体对象时,情况就变得复杂了。

    你会认为这是一个过度的杀戮还是我太吹毛求疵了?

    2 回复  |  直到 15 年前
        1
  •  4
  •   Henk Holterman    15 年前

    不是“过度杀戮”,而是“头顶”。当你想要合适的层次时,这是不可避免的。ViewModels属于UI层,您不希望将其与POCO混合使用。

    虽然你可能会称之为“过度杀戮”的一个小应用程序,你宁愿牺牲哪一个边界?

        2
  •  4
  •   Imran Rashid    15 年前

    http://blogs.msdn.com/b/adonet/archive/2009/05/21/poco-in-the-entity-framework-part-1-the-experience.aspx

    简而言之,您可以拥有完全不了解持久性的域模型项目。您可以将这种方法与ef4中新引入的代码优先方法结合使用。现在您不再需要Automapper来进行POCO到实体对象的转换,反之亦然。不过,您可以使用Automapper在POCO和ViewModels之间进行映射,从而减少大量管道代码。

    嗯。