ネストされたマッピングのwikiページを読みましたが、複数のネストレベルが気に入らないようです。私は次のマップを作成し、クラスを定義しています。Automapperのネストされたマッピング
AutoMapper.Mapper.CreateMap<Address, AddressDTO>();
AutoMapper.Mapper.CreateMap<MatchCompanyRequest, MatchCompanyRequestDTO>();
public class MatchCompanyRequest
{
Address Address {get;set;}
}
public class MatchCompanyRequestDTO
{
public CompanyInformationDTO {get;set;}
}
public class CompanyInformationDTO {get;set;}
{
public string CompanyName {get;set;}
public AddressDTO Address {get;set;}
}
しかし、次のコード...
// works
matchCompanyRequestDTO.companyInformationDTO.Address =
AutoMapper.Mapper.Map<Address, AddressDTO>(matchCompanyRequest.Address);
// fails
matchCompanyRequestDTO =
AutoMapper.Mapper
.Map<MatchCompanyRequest, MatchCompanyRequestDTO>(matchCompanyRequest);
は、この深いネストの仕事をして、私はそれが不適切に設定されていますか?または、この種のネスティングはまだサポートされていませんか?
- 編集
興味がある人のために、私はのDTOの制御ではないです。
'Mapper'インスタンス? – dougajmcdonald
次に、 'AutoMapper.Mapper'の代わりにインスタンスを使用しますか?私は本当に知りません - 私はAutoMapperを使用して以来何年もありました... – Bartosz
最近、プロファイルを作成して設定にフィードするのがベストプラクティスです。そうすればDIを使用でき、静的インスタンスは使用できなくなります。私はこれを共通の解決策と見なし、現在のベストプラクティスにどのように適合するのか不思議です。 – dougajmcdonald