1 pièce(s) jointe(s)
Lazy loading désactivé et récupération des priopriétés de navigation
Bonjour à vous,
J'ai un comportement que je ne comprend pas,
J'ai un solution qui comporte un projet DAL avec entity framework et un projet ASP MVC 4 webAPI.
Je veux récupérer une chaine JSON qui correspond à tous mes appel d'offre.
(voir schéma)
je fais donc cette requête dans mon contrôleur API :
Code:
1 2 3 4 5
| public IEnumerable<appelOffre> GetappelOffres()
{
var appeloffres = db.appelOffres.Include(a => a.entreprise).Include(a => a.statutAppelOffre).Include(a => a.source);
return appeloffres.AsEnumerable();
} |
J'ai mis le lazy loading à false :
Code:
1 2 3 4 5 6 7
| public partial class DALEntities : DbContext
{
public DALEntities()
: base("name=DALEntities")
{
this.Configuration.LazyLoadingEnabled = false;
} |
et j'ai rajouté ça dans webApiConfig.cs:
Code:
1 2 3
| var json = config.Formatters.JsonFormatter;
json.SerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;
config.Formatters.Remove(config.Formatters.XmlFormatter); |
Malheureusement je récupère mes appelOffre, l'entreprise qui est liée mais aussi les autres appels d'offres liés à l'entreprise...
Comment dois-je faire pour récupérer uniquement l'entreprise liée et pas plus ?
Merci à vous ;)