我试图提供一个更好的解决方案来映射我的对象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>>()));