【问题标题】:Type is not valid in the given context, automapper .net core类型在给定的上下文中无效,automapper .net core
【发布时间】:2017-03-20 21:07:38
【问题描述】:

我在我的 ASP.NET Core 项目中使用 AutoMapper。当我想从 DTO 类型映射到模型类型时出现错误:

“类型在给定的上下文中无效”。

这是我的映射器配置:

protected AutoMapperOrderConfiguration(string profileName) : base(profileName)
{
    CreateMap<OrderDTO, Order>();
    CreateMap<Order, OrderDTO>();
}

这是产生错误的代码:

public void Add(OrderDTO item)
{
    var model = _mapper.Map(OrderDTO, Order)(item);
    _orderRepository.Add(model);
}

在这里我想添加新的 DTO 项目,然后我想将其转换为基本模型。然后我得到错误。

public IActionResult Create([FromBody] OrderDTO item)
{
    if (item.OrderType == "" || item.ServiceType=="")
    {
        return BadRequest();
    }

    _orderDTORepository.Add(item);
    return CreatedAtRoute("GetOrder", new { id = item.OrderId }, item);
}

【问题讨论】:

标签: asp.net-core automapper


【解决方案1】:

映射调用不应该是:

_mapper.Map<Order>(item);

现在我们定义我们希望将item 映射到Order 类。

【讨论】:

  • 哦,我用过(而不是
  • 那个,你不需要定义你映射的类型,因为它可以从你传入的对象中找出来。
猜你喜欢
  • 2018-05-07
  • 2020-04-16
  • 2016-03-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-19
  • 2020-09-18
  • 1970-01-01
相关资源
最近更新 更多