类型在给定的上下文无效,即automapper .net核心

时间:2017-03-20 12:55:30

标签: asp.net-core automapper

我在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);
}

1 个答案:

答案 0 :(得分:0)

映射调用不应该是:

_mapper.Map<Order>(item);

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