【问题标题】:AutoMapper - Convert two entity objects to a single DTOAutoMapper - 将两个实体对象转换为单个 DTO
【发布时间】:2012-10-01 19:51:31
【问题描述】:

我有两个 EntityFramework 模型,我想将它们组合成一个 DTO。有没有办法做到这一点?以下问题有几个想法,但您要么必须创建复合模型,要么无法调用 Mapper.AssertConfigurationIsValid 来验证所有属性都将被设置。

Is it possible to map multiple DTO objects to a single ViewModel using Automapper? 单视图模型使用自动映射

【问题讨论】:

    标签: entity-framework automapper


    【解决方案1】:

    在我看来,强烈建议创建用于合并实体的复合类型。实体是业务逻辑或域逻辑的一部分(取决于您的架构),而 DTO 是表示逻辑或传输层的一部分。您可以创建一个可以轻松测试的显式映射;自动映射(创建不带选项的映射)仅适用于测试。如果您使用的是 DTO,那么您可能会在某处使用它:在 WCF 中?作为视图模型?

    Visual Studio 和 .Net Framework 可以管理许多文件,而且您不必牺牲可测试性或简单性(您知道“技术债务”吗?)

    注意:Mapper.AssertConfigurationIsValid 的作用是验证所有由自动或显式映射生成的映射。我建议你每次都调用这个。

    【讨论】:

    • 如果我要从两个实体模型转换为复合模型,同样的问题仍然适用。也许我应该以更笼统的方式陈述它。我希望有一种更自动化的方式来实现这一点,这样我就不必每次添加新属性时都去更改映射。
    • 第一句话听不懂。您可以使用自动映射,但您将失去对映射属性的控制。您能否指定为什么要将两个实体对象转换为单个 DTO。
    猜你喜欢
    • 1970-01-01
    • 2019-04-22
    • 1970-01-01
    • 2017-04-04
    • 2021-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多