我正在寻找一种工具来自动将两个集合整理到一起,我认为Automapper应该为此工作。我们有很多这种操作的实例,我想把这个逻辑集中到一个区域。
我有以下两个类:
public class Product
{
public IEnumerable<Order> CurrentCustomerOrders { get;set; }
}
public class Order
{
order properties
}
通过以下调用检索它们:
_repo.GetTable<Product>();
_repo.GetTable<Order>().Where(n => n.CustomerId = _customerId);
我想要的是将所有订单放入产品或类似的东西:
Mapper.CreateMap<IEnumerable<Order>, IEnumerable<Product>>()
.ForEachMember(n => n.CurrentCustomerOrders), opt => opt.MapFrom(p => p.Where(Order.ProductId == Product.ProductId))
我如何使用Automapper进行此操作?或者你知道一个更好的工具吗?
谢谢!
答案 0 :(得分:0)
通常你会先使用Linq或其他东西进行过滤,然后进行映射。 Automapper只是一个映射工具。
e.g。
Product.CurrentCustomerOrders =
Mapper.Map<OrderDO, Order>(Orders.Where(o => o.ProductId == Product.ProductId));