Pour moi, il s'agissait d'un problème de référencement circulaire.
La réponse acceptée n'a pas fonctionné pour moi parce qu'elle ne modifie que le comportement du formateur JSON, mais j'obtenais du XML lorsque j'appelais le service depuis le navigateur.
Pour résoudre ce problème, j'ai désactivé le XML et j'ai forcé le retour de JSON.
Dans le fichier Global.asax, placez les lignes suivantes au début de votre méthode Application_Start :
GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;
GlobalConfiguration.Configuration.Formatters.Remove(GlobalConfiguration.Configuration.Formatters.XmlFormatter);
Maintenant, seuls les résultats JSON seront renvoyés. Si vous avez besoin de résultats XML, vous devrez trouver une autre solution.