如何使用自动映射器映射字典<int, Product> 和列表<ProductDto>?
How to Map Dictionary<int, Product> and List<ProductDto> using automapper?
我有这段代码,想知道如何为此创建地图配置
public Product{ int ProductId, string ProductName}
public ProductDto { int ProductId, string ProductName}
_mapper.Map<Dictionary<int, Product>, List<ProductDto >>(product);
现在这就是我所拥有的,并且正在修改 LINQ 来解决这个问题。
public MappingProfile()
{
CreateMap<Dictionary<int, Product>, List<ProductDto>>()
.ForMember(dest => new List(){ new ProductDto(){}}, opt => opt.MapFrom(src => src.Values.))
}
在这种情况下,您不需要创建从 Dictionary<int, Product>
到 List<ProductDto>
的映射配置文件。 Dictionary<K, V>
是 IEnumerable<KeyValuePair<K, V>>
,因此如果您配置从 KeyValuePair<int, Product>
到 ProductDto
的转换,AutoMapper 将处理其余部分。
CreateMap<Product, ProductDto>();
CreateMap<KeyValuePair<int, Product>, ProductDto>()
.ConstructUsing((pair, context) => context.Mapper.Map<Product, ProductDto>(pair.Value));
我有这段代码,想知道如何为此创建地图配置
public Product{ int ProductId, string ProductName}
public ProductDto { int ProductId, string ProductName}
_mapper.Map<Dictionary<int, Product>, List<ProductDto >>(product);
现在这就是我所拥有的,并且正在修改 LINQ 来解决这个问题。
public MappingProfile()
{
CreateMap<Dictionary<int, Product>, List<ProductDto>>()
.ForMember(dest => new List(){ new ProductDto(){}}, opt => opt.MapFrom(src => src.Values.))
}
在这种情况下,您不需要创建从 Dictionary<int, Product>
到 List<ProductDto>
的映射配置文件。 Dictionary<K, V>
是 IEnumerable<KeyValuePair<K, V>>
,因此如果您配置从 KeyValuePair<int, Product>
到 ProductDto
的转换,AutoMapper 将处理其余部分。
CreateMap<Product, ProductDto>();
CreateMap<KeyValuePair<int, Product>, ProductDto>()
.ConstructUsing((pair, context) => context.Mapper.Map<Product, ProductDto>(pair.Value));