2

私は現在 AutoMapper でテストしていますが、現在、プロパティ名が互いに一致しない場合があるため、カスタム型の変換が必要でした。しかし、カスタム型コンバーターを使用すると、他のすべてのプロパティを手動でマップする必要がありますか? もちろん、型コンバーター内で別の Map を呼び出すことはできません。オーバーフローが発生するためです。

モデルごとに一致しないモデル固有のプロパティが最大で 3 つあるため、これは望ましくないため、他のプロパティを自動的にマップする必要があります。

誰かがこれについて正しい方向に私を向けることができますか?

4

1 に答える 1

2

名前が単に一致しないいくつかのプロパティがあるクラスをマップするために、カスタム型コンバーターを使用する必要はありません。カスタム型コンバーターは、「ある型から別の型への変換を完全に制御する」必要がある場合に使用します

でマップを設定し、次のようにCreateMap()を使用して追加のルールを設定します。ForMember()

Mapper.CreateMap<Person, Customer>()
    .ForMember(dest => dest.Surname, opt => opt.MapFrom(src => src.LastName))
    .ForMember(dest => dest.DateOfBirth, opt => opt.MapFrom(src => src.DOB));

これにより、ソースクラスから宛先クラスのandプロパティにLastNameandがマップされます。DOBPersonSurnameDateOfBirthCustomer

于 2012-08-09T12:31:43.500 に答える