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