I think I miss something in my code which cause this error : AutoMapperMappingException: Missing type map configuration or unsupported mapping.
this is my first time that I try to use autoMapper for filling my dto from datatable. so I found an example from How do I use automapper to map a dataset with multiple tables . so this is my code :
public class ContractController : ApiController
{
private readonly IMapper _mapper;
public ContractController()
{
var mapperConfig = new MapperConfiguration(x =>
x.CreateMap<IDataReader, ContractListDto>());
_mapper = mapperConfig.CreateMapper();
}
[Route("api/Sales/ContractsList")]
[HttpGet]
public IHttpActionResult Get()
{
var salesHelper = new SalesHelper(enmSaleDocType.enmSaleDocType_SaleContract,
enmSaleAfterSaleMode.enmSaleAfterSaleMode_Sale,
enmSaleOperationType.enmSaleOperationType_Sales);
var saleDataTable = salesHelper.GetSales();
IEnumerable<ContractListDto> contractsDto = null;
using (var saleDataReader = saleDataTable.CreateDataReader())
{
contractsDto = _mapper.Map<IEnumerable<ContractListDto>>(saleDataReader);
}
return Ok(contractsDto);
}
}
I am utilizing api2 dotnet framework and automapper version 10. so I cannot initialize automapper in globol.asax
. so I try to achieve this from constructor as you see in my code.(may I am doing something wrong there! ). at the end I get error here:
using (var saleDataReader = saleDataTable.CreateDataReader())
{
contractsDto = _mapper.Map<IEnumerable<ContractListDto>>(saleDataReader);
}
when I am trying to map. thanks for reading.