none
Error web api con entity framework RRS feed

  • Pregunta

  • Buen día soy nuevo en .net, y necesito crear una web api, creo mediante el asistente un controlador que usa entity framework, pero al ejecutar me arroja el siguiente error:

    El tipo 'ObjectContent`1' no pudo serializar el cuerpo de respuesta para el tipo de contenido

    leyendo en internet encuentro que la causa es cuando el metodo devuelve una entidad que tiene claves foráneas, y proponen como resultado eliminar estas asociaciones, con le que perjudicaría mi modelo, y otra opcion agregando las siguientes lineas en global.asax

     GlobalConfiguration.Configure(WebApiConfig.Register);
                GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Serialize;
                GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings.PreserveReferencesHandling = Newtonsoft.Json.PreserveReferencesHandling.Objects;

    Quisiera si alguien me pudiera ayudar a entender en primer lugar que estoy haciendo mal, y segundo, cual es la manera correcta de trabajar con web api y EF..

    Muchisimas Gracias

    Saludos

    martes, 28 de noviembre de 2017 22:26

Respuestas

  • hola

    >>cuando el metodo devuelve una entidad que tiene claves foráneas, y proponen como resultado eliminar estas asociaciones, con le que perjudicaría mi modelo

    la web api no deberia nunca retornar una entidad que defina entity framework, para eso existe el concepto de DTO (data transfer object)

    Create Data Transfer Objects (DTOs)

    como recomienda al final del articulo podrias ayudarte con la libreria de automapper para convertir de una entidad a otra

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    miércoles, 29 de noviembre de 2017 13:38