在使用规范模式组合对象时使用 Automapper

Using Automapper while using specification pattern to compose objects

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

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

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

谢谢

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

AutoMapper 总是从对象映射,在上面,我没有看到源对象,只是一个规范。如果规范填充了一个对象,那么该对象被映射到目的地,那么它就可以工作。 "Build()" 的上述结果可以映射到 "IUser".

否则,意义不大。规范模式中的代码正在设置一个对象,并尝试将其映射到 AutoMapper 配置,我认为 trouble/confusing 远远超过它的价值。