使用自动映射同时使用规范模式来组合对象

时间:2016-07-07 14:07:02

标签: automapper specification-pattern automapper-4

规范模式可用于组合对象,如下例所示:

IUser user =
                UserSpecification
                    .ForPerson()
                    .WithName("myname")
                    .WithSurname("mysurname")
                    .WithPrimaryContact(ContactSpecification.ForEmailAddress("abc@email.com"))
                    .AndNoMoreContacts()
                    .Build();

这导致手动将数据从DTO映射到规范对象。 有没有办法,我们可以使用automapper来填充对象,同时使用规范模式? Automapper是否以任何方式支持此功能?

由于

1 个答案:

答案 0 :(得分:1)

我不这么认为,通常规范模式用于零碎设置各个属性。模式的实现涉及实际设置属性的每个方法,手动。

AutoMapper始终从一个对象映射,在上面,我没有看到源对象,只是一个规范。如果规范填充了一个对象,那么该对象被映射到目标,那么它将起作用。上面“Build()”的结果可以映射到“IUser”。

否则,它没有多大意义。规范模式中的代码是设置一个对象,并尝试将其映射到AutoMapper配置,我认为这将比它的价值更麻烦/混乱。