Saltar al contenido

Automapper falta la configuración del mapa de tipo o el mapeo no es compatible – Error

Solución:

¿Dónde ha especificado el código de mapeo (CreateMap)? Referencia: ¿Dónde configuro AutoMapper?

Si está utilizando el método Mapper estático, la configuración solo debería ocurrir una vez por AppDomain. Eso significa que el mejor lugar para colocar el código de configuración es en el inicio de la aplicación, como el archivo Global.asax para aplicaciones ASP.NET.

Si la configuración no está registrada antes de llamar al método Map, recibirá Missing type map configuration or unsupported mapping.

En tu clase AutoMapper perfil, necesita crear un mapa para su entidad y modelo de vista.

Asignaciones de modelo de vista a modelo de dominio:

Esto suele estar en AutoMapper/DomainToViewModelMappingProfile

En Configure(), agrega una línea como

Mapper.CreateMap<YourEntityViewModel, YourEntity>();

Modelo de dominio para mapeos ViewModel:

En ViewModelToDomainMappingProfile, agregar:

Mapper.CreateMap<YourEntity, YourEntityViewModel>();

Ejemplo de esencia

Observe la Categoies_7314E98C41152985A4218174DDDF658046BC82AB0ED9E1F0440514D79052F84D clase en la excepción? Eso es un proxy de Entity Framework. Le recomendaría que se deshaga de su contexto EF para asegurarse de que todos sus objetos se carguen con entusiasmo desde la base de datos y no existan tales proxies:

[HttpPost]
public ActionResult _EditCategory(CategoriesViewModel viewModel)
{
    Categoies category = null;
    using (var ctx = new MyentityFrameworkContext())
    {
        category = ctx.Categoies.Find(viewModel.Id);
    }
    AutoMapper.Mapper.Map<CategoriesViewModel, Categoies>(viewModel, category);
    //category = AutoMapper.Mapper.Map<CategoriesViewModel, Categoies>(viewModel, category);
    entity.SaveChanges();
}

Si la recuperación de la entidad se realiza dentro de una capa de acceso a datos (que por supuesto es la forma correcta), asegúrese de eliminar su contexto EF antes de devolver instancias de su DAL.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *