エンティティ モデルから Dto へのマッピングを作成しようとしていますが、マッピングの作成に毎回失敗しています。
2 つのドメイン クラスがあります。これは私たちのモデルを簡略化したものです (Device
たとえば、さまざまなものを表すより多くのプロパティがあります)。
class Device
{
public int Name {get; set;}
}
class DeviceAccessToken
{
public Device Device {get; set;}
public string Key {get; set;}
public string Secret {get; set;}
}
DeviceAccessToken
次に、インスタンスをこれにマップします (これも簡略化されています。元のモデルDeviceDto
に存在するほとんどのフィールドがあります)。Device
class DeviceDto
{
public int Name {get; set;}
public string Key {get; set;}
public string Secret {get; set;}
}
Device
マッピングでドメイン モデルのすべてのフィールドを明示的に指定せずに、このマッピングを作成する方法はありますか?
これは事実上、AutoMapper プロファイルによって表される、私が望むものです。
class DeviceMappingProfile : Profile
{
protected override void Configure()
{
this.CreateMap<DeviceAccessToken, DeviceDto>();
this.CreateMap<Device, DeviceDto>()
.ForMember(dest => dest.Key, opt => opt.Ignore())
.ForMember(dest => dest.Secret, opt => opt.Ignore());
}
}
この.ForAllMembers
呼び出しは、これを機能させる試みの失敗でした。私が思い描いたように機能するはずがありません。
Device
マッピングでのすべてのプロパティを指定することでこれを行うことができることは理解していDeviceAccessToken->DeviceDto
ますが、名前が同じであるため、悪夢であり、非常に冗長です。