AutoMapper相同源相同目标类型子集目标属性

时间:2018-11-06 16:56:51

标签: c# automapper

我想在源和目标使用相同类型的情况下使用Automapper。 对于每种情况:

  • 我希望能够映射与正则表达式匹配的所有属性
  • 仅映射与其他正则表达式匹配的属性

例如,当我做第一种情况时,我将使用执行以下操作的ConvertUsing:

source.GetType().GetProperties(BindingFlags.Instance | BindingFlags.Public)
            .Where(p => Regex.IsMatch(p.Name, @"^(Baseline|Actual)Month\d{2}(Dollars|Hours|Statistics)$"))

但是,在第二种情况下,我希望它仅执行以Baseline开头的属性或以Actual开头的属性,而不是两个组。我想拥有两个单独的配置文件,并能够将Mapper.Map推向正确的路径。

如果我为基线值创建一个接口,而为实际值创建一个接口,我可以执行以下操作:

var destination = Mapper.Map<IBaseline>(source);

...

var destination = Mapper.Map<IActual>(source);

0 个答案:

没有答案