0

以下の例に示すように、仕様パターンを使用してオブジェクトを構成できます。

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

これにより、データを DTO から仕様オブジェクトに手動でマップする必要があります。 仕様パターンを使用しながら、オートマッパーを使用してオブジェクトを埋める方法はありますか? Automapper は何らかの形でこれをサポートしていますか?

ありがとう

4

1 に答える 1

1

そうは思いませんが、通常、仕様パターンは個々のプロパティの断片的な設定に使用されます。パターンの実装には、メソッドごとに実際に手動でプロパティを設定することが含まれます。

AutoMapper は常にオブジェクトからマップします。上記では、ソース オブジェクトは表示されず、仕様のみが表示されます。仕様がオブジェクトを満たす場合、そのオブジェクトは宛先にマップされ、機能します。上記の「Build()」の結果は、「IUser」にマップできます。

そうでなければ、あまり意味がありません。仕様パターン内のコードはオブジェクトをセットアップしており、これを AutoMapper 構成にマップしようとすると、価値があるよりもはるかに面倒/混乱することになると思います。

于 2016-07-07T14:15:58.527 に答える