C# 如何使用Automapper仅映射到带有前缀的属性?
我正在尝试使用Automapper从类A映射到类B。但是,我想创建一个映射,该映射仅在目标上有前缀字段可用时才映射。我该怎么做 例如,这不起作用: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
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方法在字段之间创建显式映射