C# 自动映射相同的源类,不同的输入。输出相同。可能吗?

C# 自动映射相同的源类,不同的输入。输出相同。可能吗?,c#,automapper,C#,Automapper,我正在尝试使用AutoMapper将两个不同的输入合并为一个输出 List<MerchantListViewModel> merchants = new List<MerchantListViewModel>(); var regularMerchants = Mapper.Map<List<Discount>, List<MerchantListViewModel>>(result.RegularDiscounts); var sp

我正在尝试使用AutoMapper将两个不同的输入合并为一个输出

List<MerchantListViewModel> merchants = new List<MerchantListViewModel>();

var regularMerchants = Mapper.Map<List<Discount>, List<MerchantListViewModel>>(result.RegularDiscounts);
var specialMerchants = Mapper.Map<List<Discount>, List<MerchantListViewModel>>(result.OurSpecialDiscounts);

merchants.AddRange(regularMerchants);
merchants.AddRange(specialMerchants);

return merchants;


public class MerchantListViewModel 
{
   ...
   public bool IsSpecialDiscount { get; set; }
}
列出商户=新建列表();
var regularmenters=Mapper.Map(result.regularmenters);
var specialMerchants=Mapper.Map(result.OurSpecialDiscounts);
商户。AddRange(正规商户);
商户。AddRange(特殊商户);
返商;
公共类MerchantListModel
{
...
公共bool是特殊折扣{get;set;}
}
我想在出现第二张地图时,将MerchantListViewModel上的标志设置为IsSpecialDiscount为true。第一个映射会将其设置为false或不设置它。有办法吗? 我正在将遗留代码映射到新的ViewModels中,这就是这个需求的来源。我没有一个选项来更改给定的两个列表中的遗留代码

List<MerchantListViewModel> merchants = new List<MerchantListViewModel>();

var regularMerchants = Mapper.Map<List<Discount>, List<MerchantListViewModel>>(result.RegularDiscounts);
var specialMerchants = Mapper.Map<List<Discount>, List<MerchantListViewModel>>(result.OurSpecialDiscounts);

merchants.AddRange(regularMerchants);
merchants.AddRange(specialMerchants);

return merchants;


public class MerchantListViewModel 
{
   ...
   public bool IsSpecialDiscount { get; set; }
}

提前谢谢

您可以使用
.AfterMap()
操作,因为我不确定对象的值,因此您可能无法在配置中执行此操作。在映射过程中执行该操作相当于使用注释中提到的LINQ
.ForEach()
。您还可以选择滚动您自己的
ValueResolver
类,如

,您可以在调用AddRange函数之前添加此行。specialMerchants.ForEach(li=>ii.IsSpecialDiscount=true)。或者你只是在寻找基于automapper的解决方案?这是一个很好的观点,我没有这样想。谢谢
List<MerchantListViewModel> merchants = new List<MerchantListViewModel>();

var regularMerchants = Mapper.Map<List<Discount>, List<MerchantListViewModel>>(result.RegularDiscounts);
var specialMerchants = Mapper.Map<List<Discount>, List<MerchantListViewModel>>(result.OurSpecialDiscounts);

merchants.AddRange(regularMerchants);
merchants.AddRange(specialMerchants);

return merchants;


public class MerchantListViewModel 
{
   ...
   public bool IsSpecialDiscount { get; set; }
}