Привет Я пытаюсь добавить AutoMapper в свое приложение, но у меня, похоже, есть некоторые проблемы с ним в eintegrationg.HEre это то, что у меня есть до сих пор.Exception throws on CreateMap
Для того, чтобы не создавать прямую зависимости к Automapper я создал простое картографирование для его самых основных функциональных возможностей:
public class AutoMapper : IAutoMapper
{
public void CreateMap<TFrom, TTo>()
{
Mapper.CreateMap<TFrom, TTo>();
}
public TTo Map<TFrom, TTo>(TFrom data)
{
return Mapper.Map<TFrom, TTo>(data);
}
}
Я создал файл конфигурации:
public class AutoMapperConfig
{
private readonly IAutoMapper mapper;
public AutoMapperConfig(IAutoMapper mapper)
{
this.mapper = mapper;
}
public void RegisterMappings()
{
mapper.CreateMap<ProductDTO , ProductDataContract>();
}
}
И добавил звонок в мой Global.Asax:
new AutoMapperConfig(new AutoMapper()).RegisterMappings();
У меня есть эти два объекта beetwen I хотите создать отображение:
public class ProductDTO
{
public int ProductId { get; set; }
public int CategoryId { get; set; }
public int SubcategoryId { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
public string Description { get; set; }
public string ImagePath { get; set; }
public int NumberOfProducts { get; set; }
}
public class ProductDataContract
{
public int ProductId { get; set; }
public int CategoryId { get; set; }
public int SubcategoryId { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
public string Description { get; set; }
public string ImagePath { get; set; }
public int NumberOfProducts { get; set; }
}
И в моем коде я поместил эту линию для целей тестирования:
Var продукции = productCatalogService.GetProducts(); ProductDTO ceva = products.FirstOrDefault(); var productsDataContract = mapper.Map (ceva);
Проблема заключается в том, что WHN я бег моего приложения я imediatly получить исключение в Automapper при попытке CreateMap.Here этого сообщение инициализации исключения типа:
Этого типа не поддерживается на этой платформе IDictionaryFactory
Что я делаю неправильно?
ps - Я не уверен, почему вы не хотите напрямую использовать AutoMapper, но это ваш звонок. – dove
У меня был рефери с обоими dll, и я все еще получал ошибку, но после того, как я добавил ссылку на Automapper 2, кажется, все работает – aleczandru