【问题标题】:Automapper - How to map list into dictionaryAutomapper - 如何将列表映射到字典中
【发布时间】:2015-09-22 15:10:18
【问题描述】:

我有一个来自数据库的记录列表,例如:

1;订单1;姓名1;10,99

2;Order1;Name2;10,99

3;Order1;Name3;10,99

在视图中我必须列出用逗号分隔的名称:

Order1 包含产品:Name1、Name2、Name3

总结:10,99

现在我获取一个项目列表,并按 Order1 对其进行分组,然后在加入名称的地方使用 for 循环

foreach (var order in orders.GroupBy(f => f.OrderId))
{
   var o = order.First();
   o.Name = string.Join(", ", order.Select(f => f.Name));
   items.Add(o); // this items are being mapped
}

最后我通过自动映射器映射了这个列表。我不喜欢这个解决方案。是否有可能以某种方式移动这个“名称加入”做自动映射器?

【问题讨论】:

  • 你是如何定义物品的?
  • 您当前的 Automapper 配置是什么?请提供更多背景信息。

标签: c# automapper


【解决方案1】:

似乎您需要执行以下操作(我尚未测试)

foreach (var order in orders.GroupBy(f => f.OrderId))
{
   var strOrderId = order.Key;
   var strNames = string.Join(", ", order.Select(f => f.Name));
   Console.Writeline("{0} contains {1} ", strOrderId, strNames);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-31
    • 2018-03-19
    • 2011-08-25
    • 2018-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多