C# 如何使用Automapper仅映射到带有前缀的属性?

C# 如何使用Automapper仅映射到带有前缀的属性?,c#,mapping,automapper,C#,Mapping,Automapper,我正在尝试使用Automapper从类A映射到类B。但是,我想创建一个映射,该映射仅在目标上有前缀字段可用时才映射。我该怎么做 例如,这不起作用: class TestSource { public long id { get; set; } } class TestDest { public long TD_id { get; set; } public long id { get; set; } } private void button1_Click(objec

我正在尝试使用Automapper从类A映射到类B。但是,我想创建一个映射,该映射仅在目标上有前缀字段可用时才映射。我该怎么做

例如,这不起作用:

class TestSource
{
    public long id { get; set; }
}

class TestDest
{
    public long TD_id { get; set; }
    public long id { get; set; }
}

private void button1_Click(object sender, EventArgs e)
{
    TestSource lclTS = new TestSource() { id = 20 };

    TestDest lclTD = new TestDest() { id = 30 };

    var lclConfig = new MapperConfiguration
    (
        cfg =>
        {
            cfg.ClearPrefixes();
            cfg.RecognizeDestinationPrefixes("TD_");
            cfg.CreateMap<TestSource, TestDest>();
        }
     );

    IMapper lclMapper = lclConfig.CreateMapper();

    lclMapper.Map(lclTS, lclTD);
}
类TestSource
{
公共长id{get;set;}
}
类TestDest
{
公共长TD_id{get;set;}
公共长id{get;set;}
}
私有无效按钮1\u单击(对象发送者,事件参数e)
{
TestSource lclTS=newtestsource(){id=20};
TestDest lclTD=newtestdest(){id=30};
var lclclconfig=新的映射配置
(
cfg=>
{
ClearPrefixes();
cfg.RecognizeDestinationPrefixes(“TD_”);
CreateMap();
}
);
IMapper lclMapper=lclclconfig.CreateMapper();
LCL包装图(lclTS,lclTD);
}
结果将是
lclTS.id=20

lclTD.id=20自动映射器映射具有相同名称和类型(如果未显式映射)的字段

尝试使用FormMember方法在字段之间创建显式映射