Automapper 无法在使用 NamingConvention 的反向映射中工作
Automapper not working in Reverse Mapping with NamingConvention
我正在使用 Automapper 6.1.1。并且需要使用反向映射。我发现了 2004 年的错误报告并已关闭。但在我的示例中不起作用,属性 c12
没有价值。那么我如何在此示例中使用反向映射?
public class Class1
{
public string COSI_KDESI { get; set; }
}
public class Class2
{
public string CosiKdesi { get; set; }
}
Mapper.Initialize(cfg =>
{
cfg.SourceMemberNamingConvention = new LowerUnderscoreNamingConvention();
cfg.DestinationMemberNamingConvention = new PascalCaseNamingConvention();
cfg.CreateMap<Class1, Class2>().ReverseMap();
});
Class1 c1 = new Class1() { COSI_KDESI = "ttttttt" };
Class2 c2 = Mapper.Map<Class2>(c1);
Class1 c12 = Mapper.Map<Class1>(c2);
您需要两个不同的配置文件,一个配置与您已经配置的一样,另一个相反。
Mapper.Initialize(cfg =>
{
cfg.CreateProfile("p1", p=>
{
p.SourceMemberNamingConvention = new LowerUnderscoreNamingConvention();
p.CreateMap<Class1, Class2>();
});
cfg.CreateProfile("p2", p=>
{
p.DestinationMemberNamingConvention = new LowerUnderscoreNamingConvention();
p.CreateMap<Class2, Class1>();
});
});
我正在使用 Automapper 6.1.1。并且需要使用反向映射。我发现了 2004 年的错误报告并已关闭。但在我的示例中不起作用,属性 c12
没有价值。那么我如何在此示例中使用反向映射?
public class Class1
{
public string COSI_KDESI { get; set; }
}
public class Class2
{
public string CosiKdesi { get; set; }
}
Mapper.Initialize(cfg =>
{
cfg.SourceMemberNamingConvention = new LowerUnderscoreNamingConvention();
cfg.DestinationMemberNamingConvention = new PascalCaseNamingConvention();
cfg.CreateMap<Class1, Class2>().ReverseMap();
});
Class1 c1 = new Class1() { COSI_KDESI = "ttttttt" };
Class2 c2 = Mapper.Map<Class2>(c1);
Class1 c12 = Mapper.Map<Class1>(c2);
您需要两个不同的配置文件,一个配置与您已经配置的一样,另一个相反。
Mapper.Initialize(cfg =>
{
cfg.CreateProfile("p1", p=>
{
p.SourceMemberNamingConvention = new LowerUnderscoreNamingConvention();
p.CreateMap<Class1, Class2>();
});
cfg.CreateProfile("p2", p=>
{
p.DestinationMemberNamingConvention = new LowerUnderscoreNamingConvention();
p.CreateMap<Class2, Class1>();
});
});