0

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

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

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

谢谢

4

1 回答 1

1

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

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

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

于 2016-07-07T14:15:58.527 回答