有两种类型:
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有关吗?