使用AutoMapper映射带有子源的目标属性

时间:2018-11-23 07:29:34

标签: c# automapper

我试图提供一个更好的解决方案来映射我的对象GetProductsServiceReturn,该对象具有ServiceReturn List实现的Data继承的属性,但是我正在使用automapper的ConstructUsing()进行迭代。

也许有更好的解决方案,有人可以帮助我吗?


public abstract class ServiceReturn : IServiceReturn
{
    ...
}

public abstract class ServiceReturn<TData> : ServiceReturn
{
    public TData Data { get; set; }

    public ServiceReturn(
        TData data) :
        base(true, null)
    {
        Data = data;
    }
}

public class GetProductsServiceReturn : ServiceReturn<IList<Product>>
{
    public GetProductsServiceReturn(IList<Product> data) : base(data) { }
}

public class ProductViewModel
{
    ....
}

CreateMap<GetProductsServiceReturn, List<ProductViewModel>>()
    .ConvertUsing(m => new List<ProductViewModel>(m.Data.Map<List<ProductViewModel>>()));

0 个答案:

没有答案