Разобрать две коллекции с помощью Automapper - PullRequest
0 голосов
/ 29 января 2011

Я ищу инструмент для автоматизации сопоставления двух коллекций друг с другом, и я думаю, что 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? Или вы знаете лучший инструмент для этого?

Спасибо!

1 Ответ

0 голосов
/ 29 июля 2011

Обычно вы сначала выполняете фильтрацию с использованием Linq или чего-то еще, а затем выполняете сопоставление.Automapper - это просто инструмент отображения.

например,

Product.CurrentCustomerOrders = 
     Mapper.Map<OrderDO, Order>(Orders.Where(o => o.ProductId == Product.ProductId));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...