Bonjour
Je m'adresse à vous car je ne sais comment poser ma question sur google.
Quelqu'un y a déjà surement répondu mais ne sachant ou chercher ...
Je vous explique, je suis extrêmement débutant en c# asp.net web api, je développe une application de location de gîtes
Je commence alors par me créer un contrôleur qui me retourne une liste de gîtes,
seulement le problème est que lors de la réception de ma liste, j'ai des données dont je ne veux pas ! ( dû à des foreign keys de ma base de données j'imagine. )
voici le code:
et le résultat
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 public List<Gite> GetGite() { return db.Gite.ToList(); }
donc le truc c'est qu'il me donne les indisponibilités / périodes /photos du gîte, ça c'est bon j'en ai besoin
Mais il me donne aussi les réservations à la quelle ce gîte est lié , et donc il me donne aussi le membre qui est lié à la réservation , le statut qui est lié à la réservation ect...
Et ça je n'en veux pas du tout
Comment est ce que je peux faire pour qu'il ne m'affiche pas ces données ?
J'ai cru comprendre qu'il y a du lazy loading dans l'histoire, seulement je ne veux pas le désactiver car j'ai besoin des informations telle que indisponibilités / périodes / photos
Merci de votre aide
PS: Je précise que j'ai trouver ça https://docs.microsoft.com/en-us/asp...amework/part-4, mais quand ils parlent de lazy loading ils disent que le fait de faire .ToList() ne devraient pas inclure Auteur,ne fonctionne pas chez moi, il l'inclut quand même
EDIT: Est ce que cela aurait avoir avec ces 2 lignes que j'ai mis dans mon glabal.asax ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore; GlobalConfiguration.Configuration.Formatters.Remove(GlobalConfiguration.Configuration.Formatters.XmlFormatter);
Partager