2017-03-20 4 views
1

私は、ASP.NET CoreプロジェクトでAutoMapperを使用しています。私はモデルタイプにDTOタイプからマップするとき、私はエラーを取得しています:タイプが指定されたコンテキストでは無効です。オートマトン.netコア

"Type is not valid in the given context".

これは私のマッパーの設定です:

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

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

ここでエラーが発生したコードです

ここで、新しい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); 
} 
+0

自動マッパーを設定するにはどうすればいいですか?http://stackoverflow.com/questions/41220742/setting-up-automapper-5-1/41221647#41221647 – Ahmar

+0

マイ・マッパーが動作します。モデルからDTOModelにマップできます。逆、私は傾ける。 – DraganB

答えて

0

マッピングコールはすべきではない:

_mapper.Map<Order>(item); 

は、今、私たちは私たちがOrderクラスにitemをマッピングしたいことを定義します。

+0

私は(< – DraganB

+0

の代わりに)それを使用しました。あなたが渡すオブジェクトからそれを理解できるので、マッピングするタイプを定義する必要はありません。 – juunas

+0

ありがとう、まだ学んでいます。 – DraganB