0

オブジェクトを別のオブジェクトにマップする必要がありますが、ソースと宛先の型が形状とメンバー名の両方で大きく異なります。マッピングの例を次に示します。

var source = new Source();
var dest = new Destination
{
    PropertyA = new SomeTypeA
        {
            PropertyB = new SomeTypeB
                {
                    DestinationProperty = source.SourceProperty
                }
        }
};

この例では、SomeTypeA には Source 型に対応する型がなく、SomeTypeB には、Source に対応するプロパティ、つまり SourceProperty を持つ 1 つのプロパティしかありません。そのため、ソース オブジェクトと宛先オブジェクトにはかなりの違いがあります。

私の質問は、AutoMapper のようなここでのマッピングに適したマッピング ツールはありますか、それとも手動マッピングの方が適切ですか?

4

2 に答える 2

1

You can use AutoMapper and setup mappings for each property manually. But this can be clumsy and is not ideal if your objects are very complex. So it depends. :-)

An alternative approach could be to do it manually using extension methods on the types you want to convert to and from:

public static Destination ToDestination(this Source source) {
 // convert here
}
于 2013-06-05T10:19:47.070 に答える