我有两个EntityFramework模型,我想要组合成一个DTO . 有没有办法做到这一点?在下面的问题中有几个想法,但您要么必须创建复合模型,要么失去调用Mapper.AssertConfigurationIsValid以验证将设置所有属性的能力 .
Is it possible to map multiple DTO objects to a single ViewModel using Automapper? single-viewmodel-using-automappe
我有两个EntityFramework模型,我想要组合成一个DTO . 有没有办法做到这一点?在下面的问题中有几个想法,但您要么必须创建复合模型,要么失去调用Mapper.AssertConfigurationIsValid以验证将设置所有属性的能力 .
Is it possible to map multiple DTO objects to a single ViewModel using Automapper? single-viewmodel-using-automappe
1 回答
从我的观点来看,强烈建议为合并实体创建复合类型 . 实体是您的业务逻辑或域逻辑的一部分(取决于您的架构),而DTO是Presentation逻辑或传输层的一部分 . 您可以创建一个可以轻松测试的显式映射;自动映射(创建没有选项的映射)仅适用于测试 . 如果您使用的是DTO,那么您可能会在某处使用它:在WCF中?作为ViewModel?
Visual Studio和.Net Framework可以管理许多文件,您不必牺牲可测试性或简单性(您知道“技术债务”吗?)
注意:Mapper.AssertConfigurationIsValid的作用是验证由自动或显式映射生成的所有映射 . 我建议你每次都这样打电话 .