私は常に Automapper を使用していますが、何らかの理由で問題が回避されています。以下は、私が使用しているコードの例です (名前は変更されています)。
問題Keysオブジェクト 以外のすべてのオブジェクトがマップされます。
コード WCF サービスからのフラット オブジェクトがあります。
public class FlatDTO
{
public string Key1 {get;set;}
public string Key2 {get;set;}
public string Name {get;set;}
public DateTime Date {get;set;}
}
これは、私のビジネス オブジェクトの構造です。
public class BaseModel
{
public Datetime Date{get;set;}
}
public class Keys
{
public string Key1 {get;set;}
public string Key2 {get;set;}
}
public class Summary : BaseModel
{
public Keys List {get;set;}
public string Name{get;set;}
public Summary ()
{
List = new Keys();
}
}
以下は Automapper の私のプロファイルです (プロファイルの初期化は global.aspx ページで行われます)
internal class MapDTO : Profile
{
protected override void configure()
{
Mapper.CreateMap<FlatDTO,BaseModel>().IgnoreAllNonExisting();
Mapper.CreateMap<FlatDTO,Role>().IgnoreAllNonExisting();
Mapper.CreateMap<FlatDTO,Summary>().IgnoreAllNonExisting();
}
この「単純な」問題のヘルプは素晴らしいでしょう。