Automapper missing type map configuration or unsupported mapping - Error

asp.net-mvc, automapper

Solution

I found the solution, Thanks all for reply.

category = (Categoies)AutoMapper.Mapper.Map(viewModel, category, typeof(CategoriesViewModel), typeof(Categories));

But, I have already dont know the reason. I cant understand fully.

Problem

Entity Model ``` public partial class Categoies { public Categoies() { this.Posts = new HashSet<Posts>(); } public int Id { get; set; } public string Name { get; set; } public string Description { get; set; } public Nullable<int> PositionId { get; set; } public virtual CategoryPositions CategoryPositions { get; set; } public virtual ICollection<Posts> Posts { get; set; } } ``` View Model ``` public class CategoriesViewModel { public int Id { get; set; } [Required(ErrorMessage = "{0} alanı boş bırakılmamalıdır!")] [Display(Name = "Kategori Adı")] public string Name { get; set; } [Display(Name = "Kategori Açıklama")] public string Description { get; set; } [Display(Name = "Kategori Pozisyon")] [Required(ErrorMessage="{0} alanı boş bırakılmamalıdır!")] public int PositionId { get; set; } } ``` CreateMap ``` Mapper.CreateMap<CategoriesViewModel, Categoies>() .ForMember(c => c.CategoryPositions, option => option.Ignore()) .ForMember(c => c.Posts, option => option.Ignore()); ``` Map ``` [HttpPost] public ActionResult _EditCategory(CategoriesViewModel viewModel) { using (NewsCMSEntities entity = new NewsCMSEntities()) { if (ModelState.IsValid) { try { category = entity.Categoies.Find(viewModel.Id); AutoMapper.Mapper.Map<CategoriesViewModel, Categoies>(viewModel, category); //category = AutoMapper.Mapper.Map<CategoriesViewModel, Categoies>(viewModel); //AutoMapper.Mapper.Map(viewModel, category); entity.SaveChanges(); // Veritabanı işlemleri başarılı ise yönlendirilecek sayfayı // belirleyip ajax-post-success fonksiyonuna gönder. return Json(new { url = Url.Action("Index") }); } catch (Exception ex) { } } // Veritabanı işlemleri başarısız ise modeli tekrar gönder. ViewBag.Positions = new SelectList(entity.CategoryPositions.ToList(), "Id", "Name"); return PartialView(viewModel); } } ``` Error Missing type map configuration or unsupported mapping. Mapping types: CategoriesViewModel -> Categoies_7314E98C41152985A4218174DDDF658046BC82AB0ED9E1F0440514D79052F84D NewsCMS.Areas.Admin.Models.CategoriesViewModel -> System.Data.Entity.DynamicProxies.Categoies_7314E98C41152985A4218174DDDF658046BC82AB0ED9E1F0440514D79052F84D Destination path: Categoies_7314E98C41152985A4218174DDDF658046BC82AB0ED9E1F0440514D79052F84D Source value: NewsCMS.Areas.Admin.Models.CategoriesViewModel What am I missing? I try to find, but I cant see problem. UPDATE I have specified in application_start in Global.asax ``` protected void Application_Start() { InitializeAutoMapper.Initialize(); } ``` InitializeClass ``` public static class InitializeAutoMapper { public static void Initialize() { CreateModelsToViewModels(); CreateViewModelsToModels(); } private static void CreateModelsToViewModels() { Mapper.CreateMap<Categoies, CategoriesViewModel>(); } private static void CreateViewModelsToModels() { Mapper.CreateMap<CategoriesViewModel, Categoies>() .ForMember(c => c.CategoryPositions, option => option.Ignore()) .ForMember(c => c.Posts, option => option.Ignore()); } } ```

Original source