有两种类型:
1)DTO类型:
[DataContract]
public sealed class OrderDetailDto
{
[DataMember]
public Guid MergeId { get; set; }
[DataMember]
public int Id { get; set; }
[DataMember]
public string PostionName { get; set; }
[DataMember]
public decimal Quantity { get; set; }
[DataMember]
public byte[] Version { get; set; }
}
2)对应的域类型:
public sealed class OrderDetail
{
public Guid MergeId { get; set; }
public int Id { get; set; }
public string PostionName { get; set; }
public decimal Quantity { get; set; }
public byte[] Version { get; set; }
}
和两个集合: Collection<OrderDetail>
和Collection<OrderDetailDto>
Collection<OrderDetailDto>
有数据的变化,这是什么地方做。 现在我想将这些更改Collection<OrderDetail>
使用Automapper。
为简单起见,我们认为,该项目数在这些集合是相等的,但是项目的顺序可能会有所不同。
要正确映射收集物品,我想用MergeId
财产。 我需要的是这样的:
Mapper.CreateMap<Collection<OrderDetailDto>, Collection<OrderDetail>>()
.MappingExpression((dto, do) => dto.MergeId == do.MergeId);
这是可以做到与Automapper?