2011-01-29 8 views
0

2つのコレクションの照合を自動化するツールを探しています。私たちはこの操作の多くのインスタンスを持っており、このロジックを1つの領域に集中させたいと考えています。Automapperを使用して2つのコレクションを照合します

私は、次の2つのクラスがあります。

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

通常、まずLinqなどを使用してフィルタリングを行い、次にマッピングを行います。 Automapperは単なるマッピングツールです。

Product.CurrentCustomerOrders = 
    Mapper.Map<OrderDO, Order>(Orders.Where(o => o.ProductId == Product.ProductId)); 
関連する問題